The Bonnies used a five-run sixth inning to erase an early four run deficit to move to 12-10-1 overall on the season while Bucknell of the Patriot League falls to 12-18.
It was all Bison in the early going as Bucknell cranked out eight hits during the first two innings with four hits apiece in the first and second frames. The Bison put up a three spot in the first and tacked on another run in the second for a 4-0 advantage.
The Bonnies would have an answer in the later innings, however.
Johnson got the Bonnies on the board with an RBI double in the third, but the 4-1 score remained until the sixth.
Aaron Phillips walked to lead off the sixth before Dilts drove a towering two-run home run to right field to pull within 4-3. Later in the inning, David Vaccaro sent a double to right, scoring Jared Baldinelli who had earlier walked, for the tie.
Bona pulled ahead on a single up the middle from Johnson with Tommy Styn scoring the go-ahead run from third and Vaccaro hustling around from second for an insurance run.
Bucknell would threaten in the late innings – the Bison sent a runner into scoring position in the seventh, but reliever Nate Grant retired the side. In the eighth, Bucknell sent a runner to third with one out and a fly ball to right seemingly scored a run to make it a one-run game, but the runner from third was called out on appeal for leaving base too early, ending the threat.
Johnson then took to the mound in the ninth and retired the side in order to shut the door.
The teams combined to use 41 players on the day – Bucknell used eight pitchers while St. Bonaventure had six.
The Bonnies return to Atlantic 10 play with a three-game series at home against UMass beginning Friday at 3 p.m.
Stay connected with St. Bonaventure athletics through social media. Follow the Bonnies on Twitter @Go_Bonnies and get baseball updates @BonniesBaseball. Keep up with the Bonnies on Facebook /GoBonnies and on Instagram @GoBonnies.