The Tigers (8-7, 2-0 Southeastern Conference) survived 27 lead changes to win their second SEC game of the season. Auburn had started 0-2 in the SEC the past five years.
Auburn took the lead for good after Sullivan's two free throws with 2:41 to go to put the Tigers up 73-71. Chubb missed one of two free throws with 35.2 seconds left, giving South Carolina (10-5, 0-2) one last chance.
Brian Richardson missed a fairly open 3-pointer with 10 seconds left and Bruce Ellington forced up another 3-pointer that didn't have a chance against a double team as the Gamecocks started SEC play 0-2 for a second year in a row.
It was the second straight game in which Ellington couldn't get off a good shot on South Carolina's final possession. He led the Gamecocks with 18 points. Damien Leonard added 17 points and nine rebounds.
The Tigers shot 58.5 percent (24 of 41) but turned over the ball 17 times to keep South Carolina in it. Brian Greene Jr. scored 14 points, making all six of his shots, two of them behind the arc.
Auburn appeared ready to pull away after Sullivan hit back-to-back 3-pointers to give the Tigers their biggest lead of the game at 46-42 with 16 minutes left.
But Sullivan missed a pair of free throws the next trip down and Leonard buried a 3-pointer. The Gamecocks eventually built a 61-57 lead on Leonard's fifth 3 of the game with eight minutes to go.
But Chubb got a layup inside the next trip down, and neither team would lead by three the rest of the way until Chubb's final free throw.
Chubb's 16 points was his second-highest total in an SEC game. He scored 18 the last time the Tigers played in Columbia, a 79-64 win in 2011. Chubb forgot his shoes that day and had to play in a pair of size 16s borrowed from South Carolina.
The teams went back-and-forth during the first 20 minutes with the lead changing hands 12 times. The Gamecocks held Sullivan, the SEC's third-leading scorer at 17 points a game, to seven points in the first half.