The Spaniard became the first unseeded player to win the tournament since Guilhermo Canas in 2002 after weathering an early storm to shock the eighth seed 3-6 6-3 6-3 in Montreal.
Having come through a gruelling semi-final encounter with Dan Evans to reach his first ATP 1000 final in singles, the Tokyo 2020 bronze medallist struggled to deal with his opponent's impressive slew of aces in the first set, and saw his serve broken in the sixth game.
But a ruthless start to the second set saw Carreno-Busta break early, racing out to a 3-0 lead and holding his nerve to keep the gap to his Polish opponent, who was chasing a second ATP 1000 crown.
World number 10 Hurkacz attempted to rally with a fine start to the third set, but another loss of serve effectively stalled his momentum and Carreno-Busta was able to take the victory.
The result marks a much-needed boost for Carreno-Busta, who suffered first-round exits at the French Open and Wimbledon after making the last-16 in Australia, with the U.S. Open set to start later this month.