After getting beat by 10 runs the night before, the inspired Cardinals took a four-run lead in the bottom of the first inning and despite the Royals wiping out that deficit, ended with 10-8 win.
Burlington battled back to tie the game by the fourth inning and take a 5-4 lead in the top of fifth. Johnson City answered with a run in the bottom of the fifth before blowing the game open with five runs in the seventh inning.
The Cardinals improved to 27-35, keeping alive their slim hopes for a wild-card bid in the Appalachian League playoffs. They are 4 1/2 games behind the Kingsport Mets in the wild-card standings and a full eight games behind West Division frontrunner Elizabethton.
Burlington fell to a league-worst 21-41.
Michael Perri had an RBI triple to start the scoring for Johnson City and he scored the second run on a RBI single by Andrew Warner. An error later in the inning allowed both Leandro Cedeno and Warner to score.
Johnson City's tying run in the fifth came off an RBI single by Donivan Williams.
However, it was the seventh when Johnson City blew the game open, starting with Sanel Rosendo's triple. Liam Sabino ended the five-run outburst with an RBI double.
The big lead allowed the Cardinals to hold on despite Burlington scoring three runs in the ninth inning and the tying run at the plate.
Colin Schmid pitched the first six innings for the Cardinals, giving up eight hits and five runs. David Oca (2-6) got the win, yielding six hits and two runs, while Parker Kelly threw the final 2/3 innings.
Third baseman Nolan Gorman, the 19th overall pick in the Major League Baseball draft who was promoted back on Aug. 8, was named to the Appalachian League All-Star team earlier on Thursday.
Gorman hit .350 with 10 doubles, one triple, 11 home runs and 28 RBIs for the Cardinals in 38 games.
Tommy Parsons, a non-drafted free agent out of Michigan, was also named to the All-Star team. He leads the team in wins (5), ERA among starters (3.24) and WHIP (1.22). He threw the only shutout and one of only two complete games of the season for the Cardinals.
Perri ended 3-for-5 for the Cardinals with a triple, double and single — a home run shy of the cycle. Rosendo also went 3-for-5, while Williams was 3-for-6 from the leadoff spot.
Warner batted 2-for-3 with two RBIs and two runs scored.
Juan Carlos Negret and Rafael Romero each went 3-for-5 to lead the Royals. Although the game featured 29 hits, including nine for extra bases, neither team hit a home run.
Johnson City will begin a series at Greeneville on Friday night at 7. Burlington plays at Kingsport on Friday night at 6:30.