The game-winning score came on fourth-and-goal for the Tribe, capping a 17-play, 74-yard drive, stretching 4:33.
William & Mary (5-6, 3-5 Colonial Athletic Association) led 19-11 before Kendall Gaskins ran for touchdowns of 6 and 2 yards for the Spiders (3-8, 0-8). The last two Gaskins' touchdowns gave Richmond a 23-19 lead with 4:35 to play, before the Tribe took over for the winning drive.
Jonathan Grimes tallied 205 yards and a touchdown on 39 carries for the Tribe, who snapped a three-game losing streak. Caprio added two touchdowns and 146 yards on 16-of-22 passing for William & Mary.
Aaron Corp was 22 of 31 for 196 yards and a touchdown, and Darius McMillan had 20 tackles for Richmond, which has lost eight straight.