Johnson City had lost six in a row, including the previous two to Kingsport by a combined score of 25-7.
The K-Mets took a 4-1 lead in the top of the fourth when Adrian Abreu and Richie Rodriguez each knocked in a pair of runs. But the Cardinals answered with six runs of their own in the bottom of the frame.
Rowan Wick led off Johnson City’s big inning with a double, followed by a Ronnierd Garcia walk and a Brett Wiley single to load the bases. Jonathan Keener then singled in a pair of runs and Vaughn Bryan knocked in another on a ground ball.
Andrew Massie relieved K-Mets starter Persio Reyes (0-1) with two outs and the bases loaded in the fourth but promptly hit a batter to allow another run and then gave up a two-RBI single to Wick to make it 7-4.
Victor Cruzado doubled to lead off the Kingsport fifth and then came home on a Jeff Diehl single to score another run, but the K-Mets could get no closer.
Wiley went 3-for-4, Keener was 2-for-4 with four RBIs and Wick finished 2-for-4 and knocked in two runs for the Cardinals (8-7).
Diehl was 3-for-5, and Cruzado and Abreu added two hits each for Kingsport (5-10).
The K-Mets start a four-game series against the Greeneville Astros on Sunday with a doubleheader at Hunter Wright Stadium. First pitch is set for 5 p.m.