AP photo by Marta Lavandier / Miami Marlins first baseman Jesus Aguilar, left, teases Atlanta Braves baserunner Marcell Ozuna during the eighth inning of Sunday's game in Miami.

MIAMI — The Atlanta Braves are wearing the rings. They've yet to break out the brooms.

Back-to-back wins against the Miami Marlins assured the reigning World Series champions of their third series victory of the season — and let them leapfrog their rivals in the National Least East Division standings — but the Braves were unable to complete a series sweep Sunday, losing 4-3.

Through 13 series this year — which includes four-game sets against the Cincinnati Reds, New York Mets and San Diego Padres, as well as a two-game visit from the Boston Red Sox — Atlanta has yet to produce a sweep. The Braves (19-22) have spent most of the season under .500 but have avoided streaks and skids; they've yet to win or lose more than two in a row, with Sunday's game their fifth swing and miss at three straight victories.

Now they're headed into a seven-game homestand, with four against the Philadelphia Phillies, starting Monday, and three against the Marlins. The Phillies (19-22) and four-time reigning division champ Atlanta are tied for second in the NL East, eight games behind the New York Mets.

On Sunday, Miami's Sandy Alcantara (4-2) limited the Braves to three unearned runs and six hits. The 26-year-old walked two batters and struck out seven in the fourth complete game of his MLB career.

"I'm excited every time I go nine innings," Alcantara said. "They know that I go out with the mentality to finish the game. They believe in me and they gave me the opportunity."

Atlanta star outfielder Ronald Acuña Jr. had two of the hits against Alcantara, extending his on-base streak to 29 games that stretches across two seasons.

Travis d'Arnaud's at-bat to lead off the ninth was extended after Miami first baseman Jesús Aguilar dropped a popup. D'Arnaud doubled and scored on Ozzie Albies' double to make it 4-2. Albies advanced to third on a flyout to right and scored on Dansby Swanson's RBI groundout.

Alcantara got Adam Duvall on a pop-up to catcher Jacob Stallings to complete his 115-pitch outing. In his past three starts covering 24 innings, Alcantara has allowed two earned runs. He lowered his ERA to 2.11.

"A guy like Agui, he is working so hard to catch the ball and get the out, I don't feel bad," Alcantara said of Aguilar's muff. "This is just a game. Put it aside and throw the perfect pitch after that error."

Brian Anderson and Stallings doubled, singled and had RBIs each for the Marlins. Anderson's go-ahead RBI single in the sixth put Miami ahead 2-1. The Marlins were 0-for-7 with runners in scoring position Sunday and 2-for-27 in the series before Anderson's hit to left field scored Garrett Cooper from second.

"To be able to scratch a few across was big for us," Anderson said. "We did a good job of getting guys on base early, and it was only a matter of time until we drove one home with runners in scoring position."

Stallings increased Miami's lead with his RBI single off Atlanta starter Ian Anderson in the seventh. Anderson (3-3) allowed four runs and seven hits, while walking two batters and striking out six in six-plus innings. He said "felt pretty good about the outing" but was disappointed in "how it ended."

Jesse Chavez relieved Anderson and allowed Avisaíl García's sacrifice fly.

Acuña's leadoff double in the fourth snapped Alcantara's streak of consecutive batters retired at 29. Alcantara retired the final 20 batters of his start against the Washington Nationals on May 16.

Albies reached on a three-base fielding error by Miami center fielder Jesús Sánchez's to lead off the fifth. Swanson's one-out bloop single to right scored Albies and tied it at 1.

With the Marlins having two days off this week, Alcantara was given the opportunity to start the ninth after completing 103 pitches through eight innings.

"We had him at like 115 before the game, depending on how he gets there," Miami manager Don Mattingly said. "He was pretty clean all day. Wasn't in a lot of battles he had to go through. "

Marlins second baseman Jazz Chisholm Jr. had a leadoff walk in the first and scored on Garrett Cooper's sacrifice fly, but Chisholm was removed in the third because of left hamstring tightness.