With the teams tied at 3 since the sixth inning, catcher Jonathan Lucroy started the Brewers' winning rally with a single after a nine-pitch at-bat, and Lalli, batting with the bases loaded, one out and Giants outfielders playing shallow, ended it by connecting with the first pitch he saw. He lifted a Santiago Casilla fastball into the air the opposite way, over left fielder Gregor Blanco's head for a hit off the wall.
Lalli was the last position player cut by the Brewers in Spring Training. He was promoted during the last road trip, and his first Brewers hit gave the team its first three-game winning streak.
"That one was fun," said Lalli, who had two hits in 15 at-bats with the Cubs last season but was 0-for-5 to start his stint with the Brewers. "When you come off the bench, that's the situation you want to be in -- a chance to win the game."
At first it appeared Brewers manager Ron Roenicke would send his backup catcher, right-handed hitter Martin Maldonado, to hit in the pitcher's spot. Instead it was left-handed hitter Lalli, presenting Giants manager Bruce Bochy with a choice: switch to a lefty reliever and force the Brewers to burn Lalli and go to Maldonado, or let Casilla face Lalli.
Bochy chose the latter, and one pitch later the game was over.
"We had a guy out there who felt good in Casilla and he just had a bad break in the ninth out there," Bochy said. "We had the right guy out there."
The bad break was a throwing error charged to Giants shortstop Brandon Crawford on Carlos Gomez's infield hit, allowing the winning run to reach third base. Casilla intentionally walked Yuniesky Betancourt, then allowed the hit to Lalli and took the loss.
According to the Elias Sports Bureau, Lalli joined Floyd Wicker (in 1970) as the only players in Brewers history whose first hit with the team was a walk-off.
Brewers reliever Jim Henderson earned the win after working around a two-out walk in the top of the ninth.
In the early going, it appeared the Brewers might not need to tap the bullpen at all.
"Lohse was really good -- again," Roenicke said.
The Brewers spotted their starter a 3-0 lead. Betancourt homered and drove in two runs, and Gomez hit an RBI triple as part of a 3-for-4 night. Gomez is 9-for-12 in his last three games, but his triple was particularly intriguing, considering he initially showed bunt before pulling back the bat, slashing at a Ryan Vogelsong slider and lining a hit over the right fielder's head.
"With Gomey, there's not much that surprises me," Roenicke said. "It's not like I gave him a sign to do that. He creates some things because of his skills. That isn't easy to do, especially to hit it that far."
All the while, Lohse was pitching as if he intended to join Juan Nieves as the only Brewers pitchers to throw a no-hitter. Lohse retired the first 14 Giants hitters he faced before losing his bid for a perfect game in the fifth inning, then his bid for a no-hitter and a shutout in the sixth.
He settled for a seven-inning no-decision after allowing three runs on six singles, with all three of the runs and five of the hits coming in the sixth.
Crawford's was the first -- and by far the sharpest-struck. The rest were well-placed, including Angel Pagan's hit through the hole between first and second base that put the Giants on the scoreboard, and Hunter Pence's seeing-eye single up the middle for two more runs and a 3-3 tie.
Credit Pence with a good piece of hitting. After fouling off Lohse's first two pitches, he resisted the urge to offer at a slider low and away before connecting with a sinker on the inner half of the plate. Pence got enough of that pitch to bounce his single over the pitcher's mound and past diving shortstop Jean Segura.
"I should have caught that," Lohse said. "That was one thing I wish I could have had back. Finish in a better spot so I could stay on balance and get a piece of it or something."
Lohse stranded two runners in that inning when he retired Brandon Belt on a flyout, then stranded another Giants runner at second base in a scoreless seventh inning before calling it a night. He threw a season-high 102 pitches.
Lohse is making a good case for the abolition of Spring Training. He did not sign his three-year, $33 million free-agent contract with the Brewers until March 25, one week before Opening Day, yet has met the definition of a quality start (at least six innings, three or fewer earned runs) in each of his three games. He owns half of the Brewers' six quality starts in the team's first 13 games.
"It's a shame, when you're pitching as good as Lohse is pitching for us, to not come out of this with some wins," Roenicke said. "I think he's done a great job for three games and we don't have a win for him."
"I had control of it today," Lohse said. "I just didn't execute that one inning."