JUPITER, Fla. -- Anthony Garcia saved a run with his arm and delivered the go-ahead, two-run double in the eighth inning that rallied the Cardinals to a 3-2 win over the Marlins on Saturday at Roger Dean Stadium.
Capitalizing on two errors in the eighth, St. Louis claimed its first lead of the day on Garcia's double on a 2-2 pitch off lefty Raudel Lazo. Both runs were unearned.
"We'd been pretty good [defensively] besides that," Marlins manager Don Mattingly said. "In that inning, it got away from us a little bit."
In the bottom of the seventh, Garcia came through with his arm, throwing out Brady Shoemaker trying to score on Destin Hood's fly to short right field. Shoemaker was out at the plate, although replays showed he might have been safe.
Marco Gonzales, returning from a left shoulder injury, worked 2 2/3 innings for St. Louis, allowing two unearned runs. Seung Hwan Oh pitched 1 1/3 scoreless frames in his Cardinals debut.
Miami scored twice in the third, capitalizing on Matt Carpenter's throwing error. Robert Andino singled and Tommy Medica scored from second on an error. Martin Prado delivered a two-out, RBI infield single.
The Cardinals closed the cap to 2-1 in the seventh inning on Michael Ohlman's RBI single to center off Dustin McGowan. Carlos Peguero, who doubled to open the inning, raced home without a play.
The game marked the Grapefruit League debut for Marlins lefty Wei-Yin Chen, the organization's prime offseason acquisition.
In two scoreless innings, Chen surrendered three hits and four baserunners, courtesy of Prado's two-out throwing error in the second. The southpaw induced mostly soft contact.
Carpenter opened the game with an infield single. With one out, Jhonny Peralta reached on a soft liner to center, but Chen worked out of the threat.
Up next for the Cardinals: Right-hander Deck McGuire, a non-roster invitee, will be on the mound when the Cardinals host the Nationals on Sunday at Roger Dean Stadium, live on MLB.TV. The Nats will counter with right-hander Blake Treinen for the 12:05 p.m. CT contest.
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.