AP photo by Ben Margot / Atlanta Braves starter Kyle Muller hands the ball to manager Brian Snitker as he exits for a reliever with two outs in the sixth inning of Saturday's home game against the Miami Marlins. Atlanta lost 3-2.

ATLANTA — The Atlanta Braves' winning streak is over after three games, along with their latest push to get back to .500, but not without another solid start by rookie pitcher Kyle Muller and a little excitement from their lineup in the ninth inning.

Just not enough in either case.

Miami's Sandy Alcantara pitched six strong innings, and Garrett Cooper homered and drove in two runs as the Marlins beat the Braves 3-2 on Saturday.

Tempers were calm a day after Miami starter Pablo López was ejected for hitting Ronald Acuña Jr. on his first pitch of the game. The Marlins got a big assist Saturday from Alcantara, who saved the bullpen from extra work a day after Miami had to use five relievers to cover nine innings.

"It starts with Sandy," Marlins manager Don Mattingly said. "He threw some pitches early, but to get through six was huge for us. Obviously our 'pen was a little bit out of gas."

Alcantara (5-7) walked the first two batters he faced and issued two free passes in the third, but he didn't allow a hit until Ozzie Albies singled with two outs in the inning. The 25-year-old right-hander gave up one unearned run and five hits with four walks and four strikeouts, improving to 2-0 with a 2.68 ERA in six career starts against Atlanta.

Alcantara's fastball hovered at 100 mph throughout his time on the mound.

"I was mad today because something happened last night with López," he said. "I was just going to attack them. We know they are a really aggressive team, and I've got to use my fastball. I came from the bullpen with velo, and you guys saw it."

Yimi Garcia earned his 13th save in 16 chances this season after facing four batters in the ninth. He got pinch-hitter Pablo Sandoval to pop up and Acuña to strike out before Freddie Freeman singled to put the tying run on board and finish a 3-for-3 performance with two walks. Albies, who had two hits, lined out to end the game.

The Marlins took a 2-0 lead in the third. Jon Berti singled, advanced on a sacrifice bunt and scored on Jazz Chisholm Jr.'s single to right. Chisholm moved up on Starling Marte's walk and scored on Cooper's single.

Cooper began the sixth inning with his seventh homer of the season, taking Muller deep into the right-field seats to make it 3-1.

"I was trying to ambush him, honestly," Cooper said. "I was looking for a first-pitch fastball. ... I just put a good swing on it, and thankfully it went out here. I don't know if would've gone out in Miami, though."

Atlanta had scored its first run in the fifth. Acuña reached on a fielding error by third baseman Berti, advanced to third on Freeman's single and scored on a single by Albies, the National League leader with 59 RBIs this season.

The Braves, who managed just two hits in Friday's 1-0 win, scratched out a run in the seventh to pull within 3-2. A two-base fielding error by Miami left fielder Jesús Sanchez allowed pinch-hitter Ehire Adrianza to reach. Adrianza advanced on a wild pitch by Dylan Floro and scored on Freeman's single. Floro stranded two runners to escape further trouble.

Muller (1-2), facing the Marlins for the first time six days after earning the first win of his MLB career, gave up four hits and three runs with four walks and seven strikeouts in 5 2/3 innings.

"He never gave in," Braves manager Brian Snitker said of the 23-year-old left-hander. "I love the way he competed. That was very impressive, I think, for a young guy ... he got a little adversity and he hung in there and kept the game in check."

The Braves, now 40-42, were trying to reach .500 for the first time since June 8 and the sixth time this season. Atlanta, which had won 10 of its past 16 games, has yet to top .500 this season as it tries to win a fourth straight NL East Division title.

Miami (35-46), which is last in the East standings and had dropped three of four, will start right-hander Zach Thompson (2-2, 1.50 ERA) in Sunday afternoon's finale of the three-game series at Truist Park. Thompson will face the Braves for the second time in his career, having won against Atlanta with five scoreless innings on June 12.

Veteran right-hander Charlie Morton (7-3, 3.74) will get the ball for Atlanta. The 37-year-old is 0-1 with an 8.20 ERA in two starts against the Marlins this year.

Because he threw only one pitch Friday, Miami's López is in line to start in a four-game series against the Los Angeles Dodgers that starts Monday, although Mattingly wasn't sure which day López will go. According to the Elias Sports Bureau, López became the first pitcher to throw one pitch and take a loss since Art Schallok of the Baltimore Orioles did so on Aug. 3, 1955, against the Kansas City Athletics.