NEW YORK — It was a day of cold and rain, of dodgy field conditions for soccer at a famous baseball stadium, and of the black-clad visitor seeking a breakthrough.

Mostly, though, it was a gray Sunday afternoon of terrific goalkeeping as New York City FC’s Sean Johnson and D.C. United’s Bill Hamid thwarted delicious opportunities with magnificent saves during a 0-0 draw before an announced 24,361 at Yankee Stadium.

Hamid rescued a point for United (1-0-1) in the waning moments against NYCFC (0-0-2) with gems on Alexandru Mitrita and Alex Ring 48 seconds apart to record his second shutout.

“Bill came up with some great saves. Sean Johnson came up with some fantastic saves,” United Coach Ben Olsen said. “Probably a coin flip over the course of that game [as to which team deserved to win]. I feel good with a point. I would feel better if we had three points. But I think they are probably saying the same thing.”

Everyone was in agreement about the goalkeepers. In a match that did not yield elegant soccer, their handiwork — and Johnson’s footwork — preserved the deadlock.

In talking about his own play, Hamid said, “Sean had an amazing game, too, and I have a lot of respect for him.”

Johnson was invited to the most recent U.S. national team training camp, but Hamid was not — a decision that irked the D.C. keeper, who surprisingly said after his exclusion that he was better than those who had been selected. He also singled out U.S. veteran Brad Guzan. Such remarks are not helping his cause in persuading new U.S. coach Gregg Berhalter to extend an invitation.

“I guess I just have to show them with my performance,” Hamid said Sunday.

“He is a fantastic goalkeeper," United star Wayne Rooney said. "It’s quite baffling how he is not in the squad for the U.S. men’s national team. He’s certainly one of the best keepers in the league, and he proved that again today.”

Johnson was the star in the first half. He ruined a wonderful D.C. buildup featuring Paul Arriola, Rooney and Luciano Acosta in the 11th minute by making a superb reflex save on Acosta.

“I thought it was in,” D.C. defender Steve Birnbaum said.

In the 24th, Johnson used his right foot to thwart Arriola’s angled bid from close range.

At the other end, Hamid faced increasing pressure as the half unfolded and made a fine save on Ring’s rasping drive from beyond the penalty area in the 37th minute.

Johnson denied Acosta again in the 83rd, a foot save on a 17-yard shot coming at the end of Acosta’s combination with sub Ulises Segura.

Then it was Hamid’s turn again. After punching away Mitrita’s 23-yard rocket, he dived right, reached back and swatted aside Ring’s 10-yard diving header that seemed certain to crack open the match. Ring placed his hands on his head, stunned by Hamid’s denial.

“Bill and I go way back to when we came into the league in 2010," Johnson said. “We’ve been together along the way, so it was good to see him do well as well. It was a solid performance.”

Birnbaum added, “We’re a little spoiled by it."

Olsen said he was proud of his goalkeeper and of his team’s ability to generate quality chances in difficult circumstances.

“I am not worried about us converting those,” he said. “It was just a night where we came up against a very good goalkeeper. Those will fall more times than not for us going forward.”

Rooney thought he had scored in the first half, but a soft foul on a teammate — whistled well before the ball entered the net — nullified it.

“I am getting used to that now,” he said. “I think I had three last season that shouldn’t have been [waved] off. I’ve seen this one [on video] again. It’s never a foul, but you have to trust referees to get the right decisions and respect that.”

United still has not won in the Bronx, but after three defeats, it has earned back-to-back draws. D.C. also continues to seek its first road victory against an Eastern Conference opponent since April 2017.

“The important thing is we got another shutout, and we continue to not lose games,” Olsen said. “This is not an easy place to come and grab something.”

Notes: Segura replaced Lucas Rodriguez early in the second half because, Olsen said, “the game suited Ulises, [who is] stronger and more physical. It was a scrappy game. Not a knock on Lucas, but he’s not the biggest, strongest guy.” …

United’s new second-division team, Loudoun United, lost its inaugural match Saturday at Nashville, 2-0. …

D.C. will host Real Salt Lake (1-0-1) on Saturday night at Audi Field.

Read more: