MIAMI -- Stinging from four consecutive losses to division rivals, the St. Louis Cardinals were seeking a turnaround when they arrived Friday in Miami.
They came to the right place.
The Cardinals feasted all weekend on lapses by the woeful Florida Marlins, winning 9-1 Sunday to complete their first series sweep in Miami in eight years.
"We took advantage of every little opportunity and every mistake," said Albert Pujols, who had a two-run single, giving him 38 RBI.
St. Louis overcame the departure of right-hander Sidney Ponson, who complained of elbow discomfort and was pulled for a pinch hitter after three innings. He'll be examined by a doctor Monday in St. Louis and will likely miss at least one turn in the rotation.
"It was bothering me a little bit," Ponson said. "To prevent me from going out there and hurting myself and maybe being out for the season, they took me out."
The Cardinals built a 7-0 lead for the third game in a row, and they batted around for the third consecutive game, this time in a five-run fourth inning.
"That doesn't surprise me, knowing our team," Pujols said. "I know every guy can do some damage."
So Taguchi had two hits and two RBI, and Scott Spiezio doubled twice and drove in a run. Four Cardinals scored after being walked or hit by a pitch.
The Marlins, who have the youngest team and lowest payroll in the majors, were swept for the third consecutive home series. They've lost 10 consecutive home games, one shy of the club record set in 1999.
St. Louis outscored Florida 23-9 in the series.
"We're young," Marlins manager Joe Girardi said. "We almost have to be perfect to win games. When you're not, this is what happens."
The Cardinals improved to 9-1 against the NL East. After starting the trip by losing two each at Cincinnati and Houston, they headed home buoyed by their first sweep at Miami since Aug. 31-Sept. 2, 1998.
"We got some timely hitting and a lot of clutch at-bats," manager Tony La Russa said. "That's a good way to win."
"Hopefully this will start us on another roll," Spiezio said.
Josh Hancock (1-0), who pitched 1 1/3 scoreless innings, was one of four St. Louis relievers to complete the six-hitter.
Scott Olsen (1-2) allowed six hits, four walks and seven runs in 3 2/3 innings. Only one Florida starter in the past six games has gotten through five innings.
"Today was probably the best I've felt all year," Olsen said. "I don't think I beat myself. I think they beat me. That's a little more comforting."
The Marlins' lone run scored when Miguel Cabrera hit into a double play with runners at first and third in the sixth.
The Cardinals' big fourth inning started modestly: Following a leadoff groundout, Yadier Molina was hit by a pitch that grazed the front of his jersey. Aaron Miles walked, and John Gall -- pinch hitting for Ponson -- singled for his first RBI of the season.
David Eckstein walked, and with two out Pujols hit a liner that deflected off the glove of a leaping Hanley Ramirez at shortstop for a single. After Ricky Nolasco replaced Olsen, Juan Encarnacion singled home a run and Spiezio doubled to make it 7-0.
The Cardinals drove in two runs with infield singles in the second inning. Encarnacion singled, took third on Spiezio's double and came home when Taguchi hit a grounder in a hole between third and short for a hit. Another run scored when third baseman Cabrera failed to field a 50-foot dribbler by Ponson, who earned his first RBI in 56 career at-bats.
Pujols went 1-for-5 and finished the week 5-for-24, dropping his average to .314. ... The Marlins will visit the new Busch Stadium for the first time Aug. 29-31. ... Cardinals RHP Jason Marquis, scheduled to start Monday against Colorado, has allowed seven runs in the first inning of his past two starts. He has dropped his past three decisions after starting the season 3-0.