Jankovic appeared to be cruising to the title after winning a tough first set in a tiebreak and then storming to a 5-1 lead in the second.
But the 18-year-old Szavay took advantage when Jankovic began to show signs of fatigue, winning six consecutive games to snatch the second set.
The No. 6 seed then dominated the last set to wrap up the title in three hours. The victory will propel Szavay into the WTA top 20 for the first time when the new rankings are released Monday.