JUPITER, Fla. -- A two-run, seventh-inning homer by Jamie Hoffmann on Sunday erased what was left of the Mets' six-run deficit in a game they'd eventually win, 10-7, over the Cardinals at Roger Dean Stadium.

New York scored six times off three St. Louis relievers in the seventh. Anthony Recker and Jordany Valdespin both reached against lefty Sam Freeman, who was making his first appearance since Feb. 24. Freeman's spring had been stalled by a left shoulder impingement.

Randy Choate relieved Freeman with one out and gave up a two-run double to Darrell Ceciliani. Choate has not retired any of the five hitters he has faced in his last four appearances.

"We're never happy about losing a six-run lead," manager Mike Matheny said. "We had a lot of buzz in the dugout and a lot of things going right. But we did a lot of things wrong, too. Situational hitting, we had multiple opportunities. We made sure guys heard from us."

The Mets then pounced on reliever Mitch Harris, a one-day callup from Minor League camp who recently wrapped up a five-year service commitment in the United States Navy. Hoffmann teed off for a two-run homer. Zach Lutz delivered another two-run blast for New York later in the frame.

The Cardinals raced out to the early lead with four two-out RBI hits.

St. Louis' first four runs came off Aaron Laffey, who, after making five Grapefruit League appearances in relief, earned the start in a split-squad game for the Mets. Two-out singles by Yadier Molina and Jon Jay pushed across a run in each of the first two innings. Pete Kozma's two-run double in the third extended the lead.

That would be Laffey's final inning of work. He threw 63 pitches (37 strikes) in what was his longest outing this spring. Though he's projected to begin the year in Triple-A, Laffey's extended outing keeps the lefty on track to be built up in case the Mets have a starting pitching need at the big league level.

The Cardinals tacked on two more two-out runs in the fourth with Allen Craig's two-run double off Mets reliever Greg Burke. After collecting two hits on Sunday, Craig is now 14-for-43 this spring.

Cardinals starter Jake Westbrook limited the Mets to only two hits through the first five innings before command issues caused some problems for him in the sixth. Westbrook walked one and allowed three hits in the frame. Travis d'Arnaud and Lutz each drove home a run with a single. Westbrook eventually worked out of trouble to seal his second straight six-inning start.

The Cardinals righty struck out three and threw 52 of his 87 pitches for strikes.

Up next: Monday will mark the final time Shelby Miller and Joe Kelly will take the mound for the Cardinals before the club anoints one of the two as the team's fifth starter. Miller will start the game against the Twins (12:05 p.m. CT) and Kelly will follow in relief. The two will both continue to build up their pitch counts, so there may be little or no opportunities for relievers to pitch in the game. Minnesota is scheduled to start Mike Pelfrey.