Lucky Jones had 10 points, seven rebounds and three steals for the Colonials (6-4), who have won three straight games.
After trailing by one point, Robert Morris went on a 14-0 run that was capped by Velton Jones' three-point play to give it a 25-12 lead with 6:36 left in the first half.
Hampton (1-7) managed to cut the score to 34-31 on a 3-pointer by Ramon Mercado. But the Colonials answered with a 7-0 run to claim a 41-31 lead when David Appolon made a 3-pointer.
Williams knocked down a jumper with 7:33 left to play to give Robert Morris an 18-point advantage—its largest of the game.
Ramon Mercado was the only Hampton player to score in double figures with 13 points, making three 3-pointers.