Saint Joseph's senior Rob Ferguson scored his 1,000th career point in the game, with just over six minutes to go. He becomes the 45th player in Hawk history to reach the milestone and after finishing the game with nine points, has 1,001 in his career.
Saint Joseph's trailed 57-43 with 12:40 to go in the game, and then when trailing by 11 points with 9:07 to go, the Hawks went on a 12-1 run. Williamson, who sparked the rally with three steals and four points, tied the score 61-61 with a layup at 3:47.
The Hawks then led twice, the last at 64-63 on a pair of Williamson free throws with 1:29 left, but Goldwire hit a 3-pointer 15 seconds later to put Charlotte in the lead to stay.
The 49ers then hit 4-of-6 from the free throw line in the final minute.
"This is an example of how tough you have to be to win on the road. I never though we played at the proper pace. We rushed things at both ends," said SJU coach Phil Martelli. "Their defensive physical presence kept us off of where we wanted to go. I though we started our offense too high and we weren't catching the ball cleanly."
Saint Joseph's played without starting point guard Tasheed Carr, the Atlantic 10's assists leader and Saint Joseph's third leading scorer. Carr sprained his right ankle during practice Monday, and did not make the trip.
But the Hawks also added one player - D.J. Rivera- who sat out the first semester to concentrate on academics. Rivera made his season debut and scored six points in 20 minutes of action.
The Hawks led by six points three times in the opening minutes of the first half, the last at 20-14 on Ahmad Nivins' dunk with 10:15 left.
But Goldwire scored 13 points during a 15-4 run -- including 10 points over a 70-second span to put Charlotte ahead as they took a 39-34 lead at halftime.
The Hawks take a break from the conference slate and play their first Big 5 game of the year, facing Penn at the Palestra on Saturday, January 19.