The win allowed the Pirates (19-24) to avoid a three-game sweep.
Kingsport led 1-0 after the first inning, but Bristol gained the lead in the third inning with three runs, including a two-run homer from Mason Martin.
The Pirates increased their lead in the fourth and never looked back.
Sherten Apostel went 2-for-4 with two RBIs for Bristol, which totaled 11 hits. Chase Lambert finished 2-for-3 and Victor Ngoepe was 2-for-4.
Mark Vientos stayed hot at the plate for the K-Mets (23-20), going 2-for-3 with a two-run home run in the bottom of the fourth. Raul Beracierta finished 2-for-4.
Bristol starter Oliver Garcia (1-4) picked up the pitching win. Garcia tossed 5 1/3 innings during which he allowed our runs on five hits with two strikeouts and two walks.
Matt Cleveland (1-2) suffered the loss. Cleveland worked the first 3 1/3 innings, giving up eight runs on four hits with two strikeouts and six walks.
The K-Mets open a crucial three-game series at West Division leader Elizabethton on Monday night. Kingsport trails the Twins by 2½ games.
First pitch at Joe O’Brien Field is set for 7 p.m.