MILWAUKEE -- Eight runs and nine innings weren't enough for the Cardinals on Tuesday. Neither were three middle infielders. And remarkably, 13 pitchers almost didn't cover it, either.

Four hours and 28 minutes of baseball culminated in Gabe Kapler's one-out RBI single in the 12th inning, ending a bizarre game as the Cardinals lost to the Brewers, 9-8, at Miller Park. Seven Cardinals and eight Brewers pitched, Albert Pujols made an appearance at second base and the Cardinals left a staggering 16 runners on base.

The Cardinals gave it everything they had, but for the second time in six days couldn't finish off a sweep of Milwaukee.

"I focus on the outstanding effort that we had," manager Tony La Russa said. "You focus on whatever you want to."

Gabe Gross drew a one-out walk against Jason Isringhausen, the seventh Cardinals hurler. Gross stole second base off Yadier Molina, who was supposed to get a day off, as Pujols moved to cover the attempt. Kapler lined a 1-2 pitch from Isringhausen into center field for the game-winner.

Isringhausen has been scored upon in three of his past four outings, with a blown save and two losses in that time.

"We had chances," Isringhausen said. "They had chances. Nobody could get a run across the board in extra innings. "And then just a lazy curveball. He slapped it to the outfield. [It] wasn't that hard. If I make a good pitch, I get him out."

St. Louis had rallied from an 8-3 deficit with four runs in the seventh inning and one more in the ninth, but each time the Cardinals missed chances for more. The Redbirds left the bases loaded in the seventh and left men on first and second in the ninth.

Kyle Lohse, who had not allowed more than two runs in any of his previous four St. Louis starts, was dinged for four runs on eight hits in four innings. It was the first time the right-hander was unable to get through at least the fifth inning, and the first time he was charged with more walks than strikeouts. Lohse left with a 4-2 deficit.

"From the first inning, I didn't feel great," he said. "But you've got to be able to pitch when you don't have your best stuff, and I wasn't able to do that today. A couple guys that I've got to get out, I let them get hits."

The Cardinals cut the lead to a single run in the fifth, but Brad Thompson had trouble in his second relief inning. A leadoff walk, an infield hit and a bunt single loaded the bases with no outs in the sixth, and Rickie Weeks' triple scored three runs. A sac fly made it 8-3.

Skip Schumaker was shaded far off the left-field line, toward center, when Weeks pulled his ball into the corner. Schumaker explained that the Cardinals typically play Weeks as a gap-to-gap hitter, rather than a dead-pull type. This time, it bit them.

"Four runs in an inning," Thompson said. "That's terrible. Our team battles back and I didn't give us a chance. ... I was trying to throw him a slider away, and left it up middle and he pulled it."

The game ended with Pujols playing second base, the result of an injury to Cesar Izturis. The shortstop was hit by a pitch in the top of the ninth, and had to come out of the game. Because the Cardinals had only Yadier Molina left on the bench, Molina came in to catch, Jason LaRue played first base, Pujols moved from first to second and Aaron Miles moved from second to shortstop.