Wacha gave up four hits and struck out six. He is scheduled to start the Cardinals' second game of the season, on Tuesday at Cincinnati. He will start the home opener in St. Louis on April 7.
Wacha did struggle in the fifth. Derek Dietrich led off with a walk, advanced to second on a wild pitch, moved to third on Marcell Ozuna's single and scored on Brian Bogusevic's sacrifice fly to right.
''It got a little away from me in that last inning, but overall I was pretty happy with it,'' Wacha said.
Marlins infielder Ed Lucas broke his left hand when he was hit by a pitch. His injury should make room for Donovan Solano, who was sent to Triple-A New Orleans earlier in the day.
The Marlins won all six games against the Cardinals this spring. After losing 100 games last season, they finished 2014 Grapefruit League play at 18-11-2.
''It doesn't matter what it is, if it's a pickup game or a spring training game - winning is winning,'' Miami manager Mike Redmond said. ''We all like to win. It feels good for everybody.''
The Cardinals were 11-13-2.
Cardinals: Shelby Miller will remain in Jupiter when the Cardinals head north on Friday. Miller will pitch in a minor league game on Saturday before rejoining the club. He is scheduled to start the Cardinals' fourth game of the season at Pittsburgh.
Marlins: Redmond named Tom Koehler as the club's fifth start, beating out Brad Hand, who will head to the bullpen. The Marlins will have a starting rotation of Jose Fernandez, Nathan Eovaldi, Henderson Alvarez, Jacob Turner and Koehler.
Cardinals: Reliever Jason Motte will face minor league hitters on Saturday. He is working his way back from elbow-ligament replacement surgery and could be ready for major league action by the end of April. ... Jaime Garcia is expected to throw another bullpen in the next couple days. No time frame has been set for his return.
Marlins: Though the team doesn't expect to make an official decision until Sunday, Redmond said he expects second baseman Rafael Furcal to begin the season on the disabled list. A sore hamstring has limited Furcal to 18 spring training at-bats.
Miami reassigned pitcher Henry Rodriguez to the minor leagues. Rodriguez, 5-7 with a 4.24 ERA in a five-year career that includes stints with Oakland, Washington and the Cubs, signed as a free agent in the offseason. Rodriguez has a clause in his contract allowing him to opt out of a minor league assignment. The 27-year-old righty struck out 14 and allowed six runs in nine Grapefruit League innings.
The Marlins also optioned outfielder Jake Marisnick to New Orleans. They reassigned pitcher Chris Hatcher, outfielder Matt Angle and infielders Juan Diaz and Austin Nola to the minor leagues.
The Cardinals employed a defensive shift against left-handed hitting Jarrod Saltalamacchia that moved third baseman Matt Carpenter into short right field, leaving shortstop Jhonny Peralta as the lone defender on the left side of the infield. Saltalamacchia hit the ball to the perfectly positioned Carpenter, who threw on to first for an unconventional 5-3 put out.
The Cardinals averaged 6,733 fans for their 14 home games at Roger Dean Stadium, an increase of more than 500 fans per game from last season. It's the largest average attendance in the Grapefruit League for St. Louis since 2010. The Marlins averaged 4,532 fans - which is more than 300 per game more than last spring.