JUPITER, Fla. -- Facing the Red Sox for the first time since Boston stalled St. Louis' championship pursuit, the Cardinals powered their way to an 8-6 victory with a two-run homer from first baseman Xavier Scruggs and run-scoring hits from four players expected to bat in the middle of the Cardinals' regular-season lineup. Thursday's meeting at Roger Dean Stadium was the first of two between the defending league champions this spring.

After Boston took an early lead behind Daniel Nava's leadoff homer off Cardinals starter Shelby Miller, Scruggs connected for a two-run shot off Red Sox starter Chris Capuano in the second. Capuano did not allow any other runs in his two-inning, 37-pitch spring debut.

"[It] felt good out there," said Capuano, who signed with Boston on Feb. 22. "It was good to get my feet wet this spring and get out there in a real game. I was able to work on my pitches. Had runners on base there in the first inning, so got to work out of the stretch a little bit, got to field my position. [I] got a little bit of everything today."

Miller was even sharper for St. Louis. Never given a chance to pitch against Boston in the World Series, Miller set down eight straight Red Sox hitters after allowing the home run. Five of those outs were recorded via strikeout. Miller was efficient, too, throwing 35 pitches (23 strikes) in 2 2/3 innings. It was the second longest outing by a Cardinals pitcher yet this spring.

"I felt really good," Miller said afterward. "Me and catcher Yadi [Molina] agreed that it wasn't a bad pitch [to Nava]. He's obviously a good hitter, and he got a hold of that one. All you can really do is tip your cap. They all came out swinging pretty good. I threw some good fastballs and good curveballs. [Third baseman Daniel] Descalso made an amazing [diving] play. Defense was working all around. Everything was kind of going our way today."

Boston's Anthony Ranaudo, who pitched two perfect innings in his first spring appearance, was knocked around for five runs (three earned) in 1 1/3 innings on Wednesday. Designated hitter Matt Adams delivered a two-run, two-out single in the third. The Cardinals scored three more times in the fourth with RBI hits from Jhonny Peralta, Matt Holliday and Allen Craig.

With his two-hit day, Holliday improved to 5-for-6 with a walk in Grapefruit League play.

The Cardinals scored their third unearned run of the afternoon in the sixth off right-hander Dalier Hinojosa, who threw 45 pitches in his 2 1/3-inning appearance.

After scoreless relief appearances from St. Louis' Randy Choate and Pat Neshek, Angel Castro served up three runs to the Red Sox in the sixth. Xander Bogaerts crushed a pitch for a two-run homer. Mike Carp then tripled and scored to briefly pull Boston to within three. Castro has now allowed seven runs in 2 2/3 innings.

St. Louis' Stephen Piscotty grounded into a double play to end the eighth inning. Manager Mike Matheny came out to ask the umpires for a review on a close play at second, and instant replay confirmed the initial call.

Up next: Adam Wainwright, already named the team's Opening Day starter, will make the first of his five scheduled spring starts on Thursday, when the Cardinals travel across the state to Fort Myers, Fla., to meet the Twins. The game -- which is scheduled to begin at 12:05 p.m. CT, live on MLB.TV -- will be the first of two spring meetings between the clubs. Pitchers who will be available behind Wainwright include Tim Cooney, Zach Petrick, Kevin Siegrist, Seth Maness and Jorge Rondon.