The Yellow Jackets (3-3, 2-2 Atlantic Coast Conference) were coming off an ugly home loss to Pittsburgh. But they responded by earning their first win here since 2013.
"I thought our guys battled," Georgia Tech coach Geoff Collins said. "They fought. We were decimated at certain positions. And it didn't matter. We just kept rolling guys through to find a way to get the win."
Trailing 27-24, Georgia Tech got the ball with 1:42 left and no timeouts at their own 12-yard line. But Sims targeted Sanders for the two big plays on the go-ahead drive, first when got free on the right side for a 37-yard gain against Jeremiah Lewis - who had been pressed into a bigger role after cornerback Leonard Johnson exited with a lower-body injury on a first-half interception return.
Then came Sanders goal-line catch on a deep ball despite Lewis committing a pass-interference penalty.
"When I got the playcall... and I had seen what defense Duke was in, I just knew for a fact that ball was coming to me because that's the look we saw in practice all week," said Sanders, whose only two catches came on that final drive.
The Blue Devils (3-3, 0-2) had a final drive that crossed midfield, but Juanyeh Thomas intercepted Gunnar Holmberg's overthrown ball with 15 seconds left to seal this one.
Mataeo Durant handled a record-setting workload to lead Duke. He ran 43 times for 152 yards and a touchdown, breaking a program single-game mark for most carries that had stood for nearly 51 years.
But Duke squandered chances, from two missed field goals from Charlie Ham to being stuffed on fourth-and-short at the Georgia Tech 20-yard line in the first quarter.
"No magic formula to this," Duke coach David Cutcliffe said. "Getting what you want out of your team consistently falls on me. I do know what a well-coached football team looks like. We have to do the things to arrive there or we're going to have this same story that everybody's getting tired of, including me, time and time again."
Georgia Tech: The Yellow Jackets routed a ranked North Carolina team that was the preseason Coastal Division favorite two weeks ago, only to suffer the blowout home loss to the Panthers. But they regrouped to match their win total from each of the past two seasons.
Duke: The Blue Devils had won three straight, with two against power-conference opponents Northwestern and Kansas, before last weekend's 38-7 loss at rival North Carolina. They fell short despite having an effective run game (62 times for 197 yards) to control the clock while Holmberg's late pick was their only turnover.
Durant, ranked in the top five of the Bowl Subdivision ranks in rushing, shook off substitutions to stay in the game multiple times. He broke the previous Duke single-game record of 42 carries, set by Art Bosetti against South Carolina in November 1970.
It marked the second time this year Durant has set a record in a losing effort, going back to his program-record output of 255 yards rushing in the season opener at Charlotte.
"The stats are cool but I'd rather have a win than just a personal stat any time," Durant said.
Sims threw for 297 yards and three touchdowns with two interceptions, which found itself in a tight finish despite scoring the first 14 points.
"I really just had to clear my head," Sims said of the go-ahead drive, "and I told myself: 'Just forget about everything that happened earlier. Just go out there and clutch it up for the team.'"
One of his scoring throws was a 77-yarder to Jahmyr Gibbs - who was left completely uncovered out of the backfield for an easy catch-and-run on the left side on the Yellow Jackets' first possession.
Georgia Tech: The Yellow Jackets have an open weekend followed by a trip to Virginia on Oct. 23 in a division matchup.
Duke: The Blue Devils stay in the division with a trip to Virginia next Saturday.
More AP college football: https://apnews.com/hub/college-football and https://twitter.com/AP--Top25. Sign up for the AP's college football newsletter: https://apnews.com/cfbtop25
Follow Aaron Beard on Twitter at http://www.twitter.com/aaronbeardap
Sims-Sanders connection gives GA Tech late lead
Adonicas Sanders makes two big receptions during the drive to give Georgia Tech a 31-27 lead with seconds left in the game.