The Twins scored the go-ahead run in the 10th inning after Johnson City reliever Enrique Perez threw two wild pitches.
The Cardinals scored twice with two outs in the bottom of the ninth to force extra innings. With the Twins ahead 6-4, Mateo Gill tripled in a run before a wild pitch from Benjamin Dum allowed him to score and tie the game 6-6.
Anthony Prato went 4 for 5, including a two-run home run in the seventh inning for the Twins, who improved to 25-23 and moved within one game of first-place Johnson City (26-22) in the division standings. Elizabethton has won five of the seven meetings between the two teams this season.
The top two teams in each division make the postseason.
The Cards were ahead 4-3 heading into the seventh inning when the Twins made a move. DaShawn Keirsey’s sacrifice fly forged a 4-4 tie and a couple of batters later, Prato lined a two-run home run to left field for a 6-4 Elizabethton lead. It was Prato’s second home run of the season.
Gil hit his fourth home run for the Cards and Malcom Nunez, Liam Sabino and Carlos Soler drove in runs with hits.
Twins reliever Osiris German worked 3 1/3 scoreless innings, holding Johnson City to two hits. Elizabethton starter Sawyer Gipson-Long had allowed four runs on five hits through 3 2/3 innings.
The Cardinals got two runners on base by walks with one out in the eighth inning, but Steven Cruz — the Twins’ third pitcher of the night — worked his way out of the jam.
When Cruz walked the leadoff batter in the bottom of the ninth, Twins manager Ray Smith gave him the hook.
Benjamin Dum came on and got two outs before Gil tripled in a run, leaving the tying run on third with two outs and Nunez, the Cards’ best hitter coming to the plate.
Dum threw a wild pitch, allowing Gil to score the tying run. After blowing the save, Dum wound up as the winning pitcher after holding the Cardinals scoreless in the 10th.
Johnson City starter Jose Moreno allowed 11 hits and was charged with five runs in 6 1/3 innings. Reliever Dylan Pearce gave up Prato’s home run on his first pitch.
The series moves to Elizabethton’s Northeast Credit Union Ballpark for the next two nights. Friday is Joe Mauer bobblehead night and Saturday is Star Wars Night. Both games begin at 6:30 p.m.