ANAHEIM – Just when things were reaching a desparate stage for the Braves, Joe Mather hit a three-run homer Saturday that felt more like a defibrillator. Then for good measure, he hit a game-winning double in the 12th ining.

Mather had career-highs of four hits and four RBIs to lift the Braves to a 5-4, 12-inning win over the Angels, snapping a three-game losing streak and drawing a collective sigh of relief in the clubhouse.

“We needed a game like this," said catcher Brian McCann' whose seventh-inning double drove in the tying run.  "And Joe had the big hit to set the tone. We needed for him to step up, and he’s definitely been the guy.”

Inserted in the lineup after right fielder Jason Heyward was scratched, Mather capped a big night by driving in the winning run with his RBI double in the 12th, after Alex Gonzalez hit a two-out single and went to second on an error.

"Being able to contribute to this team and being part of winning with this team, that’s what really meant the most to me," said Mather, who started the season in Triple-A after having a bad spring training and being placed on waivers.

"The way our bullpen battled tonight and the way Tommy [Hanson] battled, it’s a big win for us.”

After Tommy Hanson gave up four runs in six innings, five Braves relievers combined for six hitless innings including two by Jonny Venters. Closer Craig Kimbrel worked around a leadoff walk in the 12th inning for his 12th save.

Batting ninth in the pitcher-less order for the interleague game, Mather went 4-for-6 and stretched his streak to four consecutive multi-hit games in four starts.  He is 10-for-16 with three doubles, a homer and six RBIs in those games.

"He’s playing tomorrow," Braves manager Fredi Gonzalez said, smiling. "I’ll figure out where.”

Mather’s homer revived the Braves’ moribund offense. They had scored one run in 24 innings and trailed 4-0 before the four-run rally in the seventh.

Freddie Freeman, from nearby Villa Park, Calif., started the inning with a single. Gonzalez followed with a single before Mather drove Joel Pineiro's 1-and-0 fastball  to the left-field seats, Mather’s first major league homer since Sept. 1, 2008, when he hit one off Arizona's Randy Johnson.

Mather provided a glimpse of the power that got him the nickname “Joey Bombs” as a Cardinals’ minor leaguer during a 31-homer season in 2007.

One out later, Martin Prado bounced a double over the left-field fence to end Pineiro’s night. One out later, McCann hit a tying double off lefty Hisanori Takahashi.

The Braves out-hit the Angels 17-5 and left 14 runners on base to the Angels' six.

“You had to figure as long as we had gone without scoring, usually when that happens you break out with more than just a run," third baseman Chipper Jones said. "You expect to break out in a big way. Joe’s homer got us back in the game, and a couple of doubles by Prado and  Mac.

"The bullpen was great. There’s not many times you outhit a team 17-5 and you go 12 innings with them. You figure to score more runs than that. But we’ll take it.”

McCann had two doubles Saturday in the ballpark where his bases-loaded double lifted the National League to a 3-1 win in last summer’s All-Star game.

The Braves played extra innings for the fifth time in their past 11 games, including an 11-inning loss Wednesday at Arizona to begin the seven-game trip.

“We needed a game like this,"McCann said. "For the last four or five days…. We’ve been playing great baseball this month. We ran into a stretch where we weren’t scoring runs, but tonight was so big for us To just get some confidence. And Joe had the big hit to set the tone.”

After Freeman helped end their scoring drought in the seventh, the rookie first baseman snapped a 25-inning walk-less streak by Braves hitters with his one-out walk in the eighth.

The Braves had scored just  five runs in three losses to begin the trip, so Gonzalez shook up his lineup Saturday for the second day in a row, moving Nate McLouth to the leadoff spot and Prado to the 2-hole.

He also moved Jones back to third and McCann to cleanup, after a one-day reversal of those spots on Friday.

Eric Hinske hit fifth instead of slumping Dan Uggla, and Hinske had two chances to put the Braves ahead late, after intentional walks to McCann. With runners at first and second and one out in the ninth, Hinske grounded into a double play. And with runners one first and second and two out in the 11th, he struck out.

Uggla continued to struggle, going 1-for-6 and grounding out with a runner at second to end the fourth inning and grounding out with runners on the corners to end the sixth. Uggla is 6-for-45 (.133) with runners in scoring position, including 3-for-30 with two outs.

Fredi Gonzalez was asked if he felt his team deserved the win, since they’d peppered Pineiro for 11 hits in six innings.

“I hate the word ‘deserves,’” Gonzalez  said. “I think maybe earned; we earned this win, because we kept battling. Because no one gives you anything. Pineiro pitched well. We had some opportunities and he made some big pitches. I think we earned the victory with just perseverance, I guess.”

Hanson lacked  his usual pinpoint command and gave up a season-high four earned runs on five hits and four walks – twice as many walks as he allowed in any other game this year.  He'd been 4-0 with a 1.38 ERA in his previous five starts, with seven walks with 37 strikeouts in 32-2/3 innings.

“It definitely didn’t go the way I wanted it to go," said Hanson, who grew up in nearby Redlands, Calif., and followed the Angels as a kid.

"[Mather]  had an unbelievable day. An unreal day," Hanson said. "As soon as I saw us score some runs and get back in the ballgame, that made me feel a little bit better. Coming out of the game, I was the maddest I’ve been in a long time. I was furious [at himself]. But it was good to come back and win the game. You can’t ask for anything better.”