The Hawks trailed 41-28 at the break after shooting 11 of 32 in the first half. They scored 11 straight points to start the second, and Bembry's layup put St. Joseph's ahead with 12:59 to go.
Davidson trailed 68-57 with 1:44 left to play, but an 8-0 run - including six points from Peyton Aldridge - had the Wildcats within three points. Later, Brian Sullivan hit a 3-pointer for a two-point game with 21 seconds left.
St. Joseph's made 3 of 6 free throws in the final seconds and the Wildcats missed their final two shot attempts.
Bembry finished with 17 rebounds, and Isaiah Miles added 13 points for the Hawks (9-11, 3-5 Atlantic-10).
Aldridge led Davidson (14-5, 5-3) with 24 points.