Set an imposing 375 to win on Thursday, the West Indies were 139 runs short when the captains agreed to end the match in the final session.
Bonner, who made his Test debut aged 32 last month, brought up his century off 243 balls, overcoming a long wait while on 99 to achieve the milestone, and finished unbeaten on 113.
He had resumed on 15 overnight with captain Kraigg Brathwaite and the West Indies on 1-34.
They had pulled off the fifth-highest successful run chase in Test history with their three-wicket win over Bangladesh in Chattogram last month, knocking off 395 runs to secure a famous victory.
On the slow pitch at the Sir Vivian Richards Stadium in Antigua, however, it was always going to be difficult and the West Indies' first task was to avoid being bowled out.
Sri Lanka spinner Lasith Embuldeniya bowled Brathwaite to leave the hosts 2-91 at lunch but Bonner and Kyle Mayers put on 90 more runs without loss to tea.
Sri Lanka had a brief window of opportunity at the start of the evening session when Mayers was caught chasing a loose delivery from Embuldeniya and Jermaine Blackwood was bowled by Vishwa Fernando for four.
Bonner and Jason Holder safely held out, however, to ensure the draw.
The second Test is also being played in Antigua and starts on Monday.