Julio Teheran and Miles Mikolas put on a pitchers’ duel on an uncomfortably hot Friday night in St. Louis.

Only one offense eventually wiped off the sweat and got going.

The Braves chased Mikolas with three seventh-inning hits before taking advantage of the Cardinals bullpen in a 5-1 win. It was the Braves’ fourth win in St. Louis in the past 13 tries.

Teheran walked the first two Cardinals. He then retired 18 of the next 20 in order, including a five-pitch third inning.

The righty allowed two hits and no runs in six innings.

Mikolas wasn’t nearly as sharp. Singles from Johan Camargo, Dansby Swanson and Danny Santana chased him from the game.

Cardinals reliever Austin Gomber lost control of a curveball and it bounced off the top of Ender Inciarte’s helmet, resulting in a 1-0 Braves lead.

Camargo extended the advantage with a two-RBI double in the eighth. The Braves’ third baseman has a hit in six consecutive games, earning a .370 average in that span.

The Braves added an additional run on a Harrison Bader throwing error in the same frame. Swanson singled, and Bader’s throw wasn’t close to home plate, allowing Camargo to tack on the fourth run.

Ozzie Albies extended his hitting streak to nine games in the ninth. He scored the Braves’ fifth run on Nick Markakis’ sacrifice fly.

Peter Moylan and Jesse Biddle quieted the Cardinals in the seventh. A.J. Minter added a perfect eighth. St. Louis scored a run in the ninth.

Ronald Acuna played left field and went 0-for-4 in his return from the disabled list. Tyler Flowers left in the sixth with a right-hamstring cramp.