JUPITER, Fla. -- Michael Wacha's final tuneup before the season opens was an effective and efficient one. The right-hander breezed through five shutout innings in the Cardinals' 3-0 win over the Marlins on Wednesday at Roger Dean Stadium.
Matt Holliday delivered a two-run double, and Yadier Molina opened the scoring with an RBI single in the final Spring Training game in Jupiter.
Slotted as the No. 2 starter, Wacha limited Miami to singles by Dee Gordon and Adeiny Hechavarria. He struck out two batters and walked one, throwing 55 total pitches.
"It was nice getting command of a lot of pitches, getting early outs and let the defense play behind me, low pitch count," said Wacha, who finished with a 4.08 ERA. "That's the way I like to work. Everything was on point today."
Edwin Jackson got himself in trouble by issuing a one-out walk to Wacha. Stephen Piscotty delivered a two-out RBI single. Holliday followed with a two-run double to give St. Louis a three-run cushion.
The Cardinals didn't have a baserunner through three innings off starter David Phelps, but they were able to break through off A.J. Ramos in the fourth. Matt Carpenter led off with a walk, and he scored on Molina's RBI single.
Phelps was simply dominant in three perfect innings, striking out six batters, including four in a row. Offering versatility as a starter or long reliever, Phelps pounded the strike zone. Of his 43 pitches, 34 were strikes. The right-hander's velocity topped at 95 mph. To lead off the third, he fanned Jedd Gyorko on a 94 mph fastball.
Phelps' role will be in the bullpen, where he offers flexibility to throw multiple innings or spot start.
"I always joke with Don Kelly because he's been a utility player his whole life," Phelps said of his former Miami teammate. "I was like, 'Donnie, I'm you of pitchers.' I'm a utility pitcher."
Although reliever Jordan Walden, who missed about a week of spring with shoulder tightness, worked a clean sixth inning, he suffered a setback.
Up next for the Cardinals: The Cardinals conclude their Grapefruit League schedule at 12:05 p.m. CT on Thursday when they face the Yankees at Steinbrenner Field in Tampa. The game can be watched live on MLB.TV. Right-hander Mike Leake will make his final spring start after fanning seven batters but allowing four runs in his previous outing last Saturday against the Nationals. The Yankees will counter with Michael Pineda.
Up next for the Marlins: After wrapping up their stay in Jupiter, the Marlins are off on Thursday before facing the Yankees in the first of two exhibition games at Marlins Park. Jose Fernandez will start for Miami at 7:10 p.m. ET Friday. The game can be heard live on Gameday Audio. New York is going with former Marlin, right-hander Nathan Eovaldi.
Joe Frisaro is a reporter for MLB.com. He writes a blog, called The Fish Pond. Follow him on Twitter @JoeFrisaro and listen to his podcast. This story was not subject to the approval of Major League Baseball or its clubs.