Michael Conforto, center, celebrates with teammates after being hit by a pitch to force home the winning run in the ninth inning Thursday against the Miami Marlins. John Minchillo/Associated Press

NEW YORK — With fans at Citi Field for the first time in 557 days, Michael Conforto and the New York Mets got some serious home cooking.

Even the umpire knew it.

Jeff McNeil launched a tying homer in the ninth inning on his 29th birthday, and the Mets were handed the winning run on a disputed hit by pitch for a bizarre 3-2 victory over Miami in their home opener Thursday.

With the bases loaded and one out, a scuffling Conforto appeared to stick out his right elbow pad just enough to get it grazed by a 1-2 breaking ball from Marlins closer Anthony Bass that looked to be in the strike zone

Plate umpire and crew chief Ron Kulpa at first signaled strike, then quickly ruled Conforto was hit by the pitch. Conforto headed to first base as Luis Guillorme scored and the Mets celebrated a fortuitous comeback win.

“That one there, makes a clear move to get hit, try to get hit. But for me, I guess, the tough part is, you can’t really tell on the replay if it hits him or not,” Miami Manager Don Mattingly said. “And I guess the toughest part is, it’s just a strike. Kind of that simple. You would think all the replay we do, that you could say that ball’s a strike. I wonder what happens when they put the automated strike zone in?”

Mattingly and his players argued with Kulpa before the umps went to a video review that lasted 58 seconds. The call was upheld.

“It’s one of those plays where it looked like the guy was hit,” Kulpa told a pool reporter. “The guy was hit by the pitch in the strike zone. I should have called him out.”

According to baseball rules, if a batter is plunked by a pitch in the strike zone, it’s a strike and not a hit by pitch.

Replay regulations, however, don’t allow for a review of whether the pitch was in the strike zone or the batter made any attempt to evade it. Only whether the ball touched the batter is reviewable.

ROCKIES 7, DIAMONDBACKS 3: Jon Gray took a no-hit bid into the seventh inning and got his first win of the season as Colorado beat visiting Arizona.

Gray allowed three runners through six innings, helped in the sixth when third baseman Ryan McMahon made a barehanded grab of Tim Locastro’s grounder and threw out the speedy batter by a half-step.

David Peralta tripled leading off the seventh when he sent a 1-2 slider into the gap in left-center field. Pavin Smith hit an RBI single on the next pitch.

CUBS 4, PIRATES 2: Javy Baez hit a go-ahead two-run homer in the sixth inning, and Chicago’s struggling offense came to life in a win at Pittsburgh.

Kris Bryant and Anthony Rizzo also homered as the Cubs pounded out a season-high 11 hits against Tyler Anderson (0-2) and four relievers. Baez, Rizzo, Bryant and Jake Marisnick had two hits each for Chicago, which raised its major-league worst team batting average from .143 to .157.

Jake Arrieta (2-0) survived a sometimes wobbly six innings to improve to 14-6 against the Pirates. He allowed two runs, seven hits and three walks while striking out four. Craig Kimbrel recorded five outs for his second save.

CARDINALS 3, BREWERS 1: Nolan Arenado hit a tiebreaking, two-run homer in the eighth inning of his home debut with the Cardinals, lifting St. Louis to a win in its home opener.

TWINS 10, MARINERS 2: Mitch Garver, Byron Buxton and Luis Arraez hit home runs to back another strong start by Jose Berrios, and Minnesota won its home opener.

WHITE SOX 6, ROYALS 0: Lance Lynn pitched a five-hitter with 11 strikeouts for the first complete game and shutout in the major leagues this season, and Chicago won its home opener.

NOTES

METS: Reliever Dellin Betances was placed on the 10-day injured list because of a right shoulder impingement.

The team added right-hander reliever Trevor Hildenberger to the roster. The 30-year-old Hildenberger pitched for Minnesota from 2017-19, going 9-11 with a 5.35 ERA in 132 relief outings, but hasn’t appeared in the majors since.

CARDINALS: First baseman Paul Goldschmidt was not in the starting lineup against Milwaukee because of lower back tightness.

St. Louis said the move was made for precautionary reasons. The 33-year-old, starting his third season with the Cardinals, is batting .308 with no homers and two RBI in 26 at-bats through the first six games. Goldschmidt was a six-time All-Star with Arizona before he was acquired by the Cardinals.

DIAMONDBACKS: Infielder Ketel Marte was placed on the 10-day injured list, a day after hurting his right hamstring against the Colorado Rockies.

Marte was injured in the sixth inning of the Diamondbacks’ 8-0 loss. He grabbed the back of his right hamstring while running to first base after hitting a grounder to third and had to be helped off the field. Manager Torey Lovullo says Marte likely will get an MRI when the team returns home.

Marte, 27, was hitting .462 with two home runs in the first six games.

Comments are not available on this story.