Hannibal scored the first 14 points of the game, a 14 yard run and a 53 yard interception return to lead by two touchdowns after the first quarter.
Boonville got back in the game in the second period, as Jacob Francis hit Austin Hulbert on a 70 yard touchdown pass to pull with seven at the half.
The Pirates then scored 14 points in 12 seconds in the third quarter. They plowed across from one yard out, then returned a fumble to jump out to a 28-7 lead. They added another touchdown on a long run to round out the scoring four minutes later.
Hannibal improved to 2-1 on the season while the Boonville is still winless at 0-3.