Brian McCann drew a bases-loaded walk in the 10th inning and the Atlanta Braves rallied for a 4-3 win over the St. Louis Cardinals on Sunday night.

Atlanta, which scored three runs in the ninth to tie it, has won 12 of 16 and captured its fifth successive series by winning two of three from St. Louis.

More Images
Atlanta Braves' Brian McCann, left, takes his base on a bases-loaded walk as Freddie Freeman scores during the 10th inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Brian McCann drew a bases-loaded walk in the 10th inning and the Atlanta Braves rallied for a 4-3 win over the St. Louis Cardinals on Sunday night.

St. Louis Cardinals relief pitcher Tyler Webb waits to be removed after giving up a bases-loaded walk to Atlanta Braves' Brian McCann, scoring Freddie Freeman during the 10th inning of a baseball game, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Jacob Webb (3-0) picked up the win with a scoreless ninth and Luke Jackson got the last three outs for his seventh save in 11 tries.

Atlanta Braves' Ozzie Albies watches his RBI single during the ninth inning of a baseball game against the St. Louis Cardinals Sunday, May 26, 2019, in St. Louis. Albies was tagged out trying to make it to second. (AP PhotoJeff Roberson)

Donaldson, Riley and Ozzie Albies had run-scoring hits in the ninth inning with Albies tying it with a single off Andrew Miller. Donaldson and Riley's hits came off closer Jordan Hicks.

St. Louis Cardinals starting pitcher Carlos Martinez, right, is congratulated by catcher Yadier Molina after getting Atlanta Braves' Dansby Swanson to ground out ending the top of the eighth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Yadier Molina pushed the lead to 3-0 with a sacrifice fly in the fifth.

St. Louis Cardinals' Kolten Wong, right, scores past Atlanta Braves catcher Brian McCann during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

TRAINER'S ROOM

St. Louis Cardinals' Harrison Bader, right, celebrates after scoring as Atlanta Braves catcher Brian McCann walks back to the plate during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Cardinals: RHP Adam Wainwright (4-4, 4.82) will start against Philadelphia RHP Nick Pivetta (2-1, 8.35) in the first of a three-game series on Tuesday in Philadelphia. Wainwright is 7-2 with a 2.90 ERA in 13 career starts against the Phillies.

Atlanta Braves left fielder Austin Riley is unable to catch a fly ball by St. Louis Cardinals' Kolten Wong during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. Riley was charged with an error and Wong went on to second on the play. (AP PhotoJeff Roberson)

Atlanta Braves left fielder Austin Riley is unable to catch a fly ball by St. Louis Cardinals' Kolten Wong during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. Riley was charged with an error and Wong went on to second on the play. (AP PhotoJeff Roberson)

St. Louis Cardinals' Harrison Bader hits an RBI single during the fourth inning of a baseball game against the Atlanta Braves Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Harrison Bader hits an RBI single during the fourth inning of a baseball game against the Atlanta Braves Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Dexter Fowler, right, is safe at second for a stolen base ahead of the tag from Atlanta Braves second baseman Ozzie Albies during the first inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Dexter Fowler, right, is safe at second for a stolen base ahead of the tag from Atlanta Braves second baseman Ozzie Albies during the first inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves starting pitcher Julio Teheran throws during the first inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves starting pitcher Julio Teheran throws during the first inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals starting pitcher Jack Flaherty throws during the first inning of a baseball game against the Atlanta Braves, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals starting pitcher Jack Flaherty throws during the first inning of a baseball game against the Atlanta Braves, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Freddie Freeman reached on an infield single with one out and moved to second on a walk to Josh Donaldson and advanced to third on Nick Markakis' fly ball to center field. After a Austin Riley was intentionally walked to load the bases, McCann drew a five-pitch walk from Tyler Webb (0-1) that brought in Freeman with the go-ahead run.

Atlanta Braves' Brian McCann, left, takes his base on a bases-loaded walk as Freddie Freeman scores during the 10th inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves' Brian McCann, left, takes his base on a bases-loaded walk as Freddie Freeman scores during the 10th inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Jacob Webb (3-0) picked up the win with a scoreless ninth and Luke Jackson got the last three outs for his seventh save in 11 tries.

Ronald Acuna Jr. had two hits for Atlanta.

The Cardinals have lost four of six and have not won back-to-back games since May 1.

St. Louis Cardinals relief pitcher Tyler Webb waits to be removed after giving up a bases-loaded walk to Atlanta Braves' Brian McCann, scoring Freddie Freeman during the 10th inning of a baseball game, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals relief pitcher Tyler Webb waits to be removed after giving up a bases-loaded walk to Atlanta Braves' Brian McCann, scoring Freddie Freeman during the 10th inning of a baseball game, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Donaldson, Riley and Ozzie Albies had run-scoring hits in the ninth inning with Albies tying it with a single off Andrew Miller. Donaldson and Riley's hits came off closer Jordan Hicks.

St. Louis starter Jack Flaherty gave up three hits and struck out seven in a 91-pitch outing over six scoreless innings.

The Cardinals scored two unearned runs against Atlanta starter Julio Teheran in the fourth. Kolten Wong reached on a two-base error by Riley, who dropped a line drive in left field. Harrison Bader followed with a run-scoring single to right. He eventually scored on a wild throw to the plate by Donaldson at third.

Atlanta Braves' Ozzie Albies watches his RBI single during the ninth inning of a baseball game against the St. Louis Cardinals Sunday, May 26, 2019, in St. Louis. Albies was tagged out trying to make it to second. (AP PhotoJeff Roberson)

Atlanta Braves' Ozzie Albies watches his RBI single during the ninth inning of a baseball game against the St. Louis Cardinals Sunday, May 26, 2019, in St. Louis. Albies was tagged out trying to make it to second. (AP PhotoJeff Roberson)

Yadier Molina pushed the lead to 3-0 with a sacrifice fly in the fifth.

Teheran gave up just two hits and three runs — one earned — in five innings. He walked four and struck out one.

ROTATON CHANGE

The Cardinals announced that rookie LHP Genesis Cabrera will start on Wednesday at Philadelphia. He is replacing RHP Michael Wacha, who has been sent to the bullpen. Cabrera was 2-3 with a 6.35 ERA in seven starts at Triple-A Memphis.

St. Louis Cardinals starting pitcher Carlos Martinez, right, is congratulated by catcher Yadier Molina after getting Atlanta Braves' Dansby Swanson to ground out ending the top of the eighth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals starting pitcher Carlos Martinez, right, is congratulated by catcher Yadier Molina after getting Atlanta Braves' Dansby Swanson to ground out ending the top of the eighth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

TRAINER'S ROOM

Braves: Optioned RHP Chad Sobotka to Triple-A Gwinnett. Sobotka had been on the injured list since April 29 with a left abdominal strain.

UP NEXT

Braves: LHP Max Fried (7-2, 2.88) will start the opener of a two-game set at home against Washington on Tuesday. He will be opposed by RHP Stephen Strasburg (4-3, 3.25). Fried has won his last three starts and allowed five earned runs over 17 innings.

St. Louis Cardinals' Kolten Wong, right, scores past Atlanta Braves catcher Brian McCann during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Kolten Wong, right, scores past Atlanta Braves catcher Brian McCann during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Cardinals: RHP Adam Wainwright (4-4, 4.82) will start against Philadelphia RHP Nick Pivetta (2-1, 8.35) in the first of a three-game series on Tuesday in Philadelphia. Wainwright is 7-2 with a 2.90 ERA in 13 career starts against the Phillies.

More AP baseball coverage: www.apnews.com/MLB and www.twitter.com/AP_Sports

St. Louis Cardinals' Harrison Bader, right, celebrates after scoring as Atlanta Braves catcher Brian McCann walks back to the plate during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Harrison Bader, right, celebrates after scoring as Atlanta Braves catcher Brian McCann walks back to the plate during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves left fielder Austin Riley is unable to catch a fly ball by St. Louis Cardinals' Kolten Wong during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. Riley was charged with an error and Wong went on to second on the play. (AP PhotoJeff Roberson)

Atlanta Braves left fielder Austin Riley is unable to catch a fly ball by St. Louis Cardinals' Kolten Wong during the fourth inning of a baseball game Sunday, May 26, 2019, in St. Louis. Riley was charged with an error and Wong went on to second on the play. (AP PhotoJeff Roberson)

St. Louis Cardinals' Harrison Bader hits an RBI single during the fourth inning of a baseball game against the Atlanta Braves Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Harrison Bader hits an RBI single during the fourth inning of a baseball game against the Atlanta Braves Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Dexter Fowler, right, is safe at second for a stolen base ahead of the tag from Atlanta Braves second baseman Ozzie Albies during the first inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals' Dexter Fowler, right, is safe at second for a stolen base ahead of the tag from Atlanta Braves second baseman Ozzie Albies during the first inning of a baseball game Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves starting pitcher Julio Teheran throws during the first inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

Atlanta Braves starting pitcher Julio Teheran throws during the first inning of a baseball game against the St. Louis Cardinals, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals starting pitcher Jack Flaherty throws during the first inning of a baseball game against the Atlanta Braves, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)

St. Louis Cardinals starting pitcher Jack Flaherty throws during the first inning of a baseball game against the Atlanta Braves, Sunday, May 26, 2019, in St. Louis. (AP PhotoJeff Roberson)