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.

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: The Mets will make one last trip to Disney on Monday for a 1:05 p.m. game against the Braves in Lake Buena Vista, Fla. Right-hander Dillon Gee, who believes something clicked for him late in his last start against the Astros, will start opposite Atlanta lefty Mike Minor. Gee, who is slated to start the Mets' fourth game of the regular season, has two spring outings to go.