On a sunny day following an evening of vicious thunderstorms, the first-place New York Mets (24-20) looked to continue their winning ways with a doubleheader sweep of the visiting Colorado Rockies.

After Marcus Stroman put on a clinic in Game 1, tossing 6 scoreless innings on just 3 hits, the Mets turned to Joey Lucchesi to bring home another win.

Things did not get off to the smoothest start, with Lucchesi allowing two walks to start his afternoon. After a nearly 30-pitch opening frame in his first Citi Field start, Lucchesi was bailed out by newly-acquired outfielder Billy McKinney as he traveled what felt like a mile to reel in a rocket to the right-field corner. It was McKinney’s second inning-ending corner play of the day, his first coming at the end of Stroman’s final frame in Game 1.

Rockies starter Antonio Senzatela got off to a similarly rocky start (pun intended). After a leadoff walk to Jonathan Villar in the Mets’ half of the first, Francisco Lindor finally broke his 0-for-24 streak on a liner to left field that Rockies shortstop Trevor Story just barely missed. Villar kept up his excellent baserunning streak by going first-to-third on the play. He would later score on a McKinney double-play ball, as the Mets took their second 1-0 lead of the day.

Lucchesi recovered with a one-two-three second inning, as Mets cult-hero Patrick Mazeika took over first base duties while James McCann resumed his spot behind the plate. Mazeika flashed some impressive leather, fielding a tough throw from Lindor for the first out and snagging a hard line drive out of the air for the second.

Not to be outdone, Senzatela responded with his own three-up, three-down frame.

Entering the third, Lucchesi continued to settle in, striking out Senzatela on a high fastball for the first out. Then, despite two long, scary back-to-back smacks from Garrett Hampson and Story, Lucchesi left the mound without allowing a hit, keeping the shutout intact.

To open the home half of the third, Story made a spectacular spinning stop to get the still-struggling Cameron Maybin out on a bang-bang play at first. Lucchesi would follow with a broken-bat ground out of his own, and after Villar was caught trying to stretch a base hit to left field, Senzatela left the mound having retired eight Mets in a row, and in rapid succession. Still, though, the Mets clung to a one-run lead.

Rockies second baseman Ryan McMahon continued his hot series in the fourth with a leadoff single to center, ending Lucchesi’s shortened no-hit bid. However, he would be thrown out moments later on an attempted steal of second, with Mazeika perfectly relaying a Lucchesi pickoff to Jose Peraza. C.J. Cron would follow with the second straight base hit of the inning, later reaching second on Lucchesi’s first wild pitch of the season.

After a two-out walk to Yonathan Daza, Lucchesi’s afternoon came to an end, totaling three walks and two hits on 70 pitches through 3.2 innings, all without allowing a runner to come to the dish. Rising Mets star Drew Smith came out of the bullpen, allowing a game-tying single to Connor Joe and putting runners on the corners before McKinney made a sliding catch to end the inning.

Notably, Story started the home fourth on the bench, removed for what was eventually revealed to be arm tightness. After Lindor went down swinging to open the home half of the inning, McKinney continued building on his impressive Mets debut with a long double off the right-field fence. Dominic Smith then took a 94 mph fastball off his wrist, putting men at first and second with one out for McCann, who would then walk to load the bases.

Into the box stepped Mazeika, looking to replicate some of his early-season magic, albeit a little earlier in the game than he might be used to. He was eventually sat down on a questionable called third strike delivered below the knees.

Unfazed, Peraza came up big yet again. On another first-pitch swing, Peraza delivered a line drive through the gap into left field, driving in McKinney and keeping the bases loaded for Maybin, who would end the inning with yet another ground out to short. Still, the Mets entered the fifth back on top, once again clinging to a one-run advantage.

Aaron Loup was called on to open the fifth, fanning Josh Fuentes before giving up a double to Hampson to start his outing. Loup, though, remained undeterred, striking out Raimel Tapia and getting McMahon to fly out to Smith in left, protecting the lead for a warmed and ready Jeurys Familia to handle the sixth.

Senzatela’s afternoon came to an end in the home half of fifth, as Rockies reliever Tyler Kinley struck out Wilfredo Tovar, pinch-hitting for Loup, on a 97 mph heater. Villar would follow with a slow ground out to first, and Lindor would end the inning with a fly out to center, still totally frozen at the plate.

The series’ stellar defense continued to open the sixth, as Villar stabbed a hard ground ball to throw out Cron at first base on what would have been a base hit on almost any other day. After giving up a one-out single to Brendan Rodgers, Familia struck out Daza swinging at a nasty sinker before getting Joe to ground out, with Villar once again handling a hard-hit grounder to hold the lead and put the Mets just three outs away from a doubleheader sweep and series win.

McKinney opened the home sixth with a walk from Jordan Sheffield, continuing his impressive first day in a Mets uniform. After Dom Smith popped out in foul territory, McCann took the first pitch he saw straight down the middle into left field, allowing McKinney to go first-to-third with McCann landing at second. Mazeika would be hit on the foot (and subsequently subbed out for Khalil Lee‘s speed), loading the bases with one out for, who else, Peraza.

Credit: Brad Penner-USA TODAY Sports

Demonstrating extraordinary patience, Peraza took a four-pitch walk, bringing in McKinney for his second run of the day and giving the Mets an all-too-welcome insurance run. The at-bat brought Peraza’s RBI total to three on the day – equivalent to the Mets’ total between both games.

With the bases still loaded and only one out, Maybin came to the plate looking for his first hit in a Mets uniform as Robert Gsellman got warm in the Mets bullpen. Though he would finally end up at first base, it happened on a wacky fielder’s choice, the ball bouncing off of McMahon before being thrown to the plate to get McCann on the force out at home. Maybin finished the game mired in a brutal 0-for-26 start to his Mets career.

With the bases full and two men out, Brandon Drury got into the action, pinch-hitting for Familia. Sheffield delivered his second bases-loaded walk of the inning, bringing the Mets’ lead to 4-1 and ending his day on the hump. Colorado turned to Yency Almonte to secure their final out, which came on a strikeout to the first batter he faced in Villar.

Looking for his first save since 2019, Gsellman took the mound to start the home half of the seventh inning. After getting Diaz out on a first-pitch comebacker, Charlie Blackmon stepped in to pinch-hit for Almonte. Gsellman attacked Blackmon with a nasty fastball-changeup sequence to get ahead in the count 0-2 before ultimately giving him first for free on a hit-by-pitch.

After getting Hampson looking, Blackmon stole second easily on a called strike to Tapia. Gsellman then gave Tapia his first hit of the series with an RBI double to right, ending his outing. Jacob Barnes came in to close things out, though, as he slammed the door on Colorado by getting McMahon to fly out to left. Always interesting and never as easy as we’d like, the Mets managed to sweep their doubleheader and take three of four from the Rockies at home.

Up next: the Amazin’s welcome the Atlanta Braves (24-25) for a three-game set at Citi Field. Atlanta hopes to continue its recent success, while the ReplaceMets look to maintain their spot atop a predictably unpredictable NL East.

You can catch the first pitch at 7:10 p.m. on WPIX or MLB Network for those out-of-market.