Victoria Azarenka was all at sea in the opening set as she was swept aside by the Serbian in just 29 minutes.
With her serve misfiring badly, the second seeded Azarenka looked certain of a quick exit on Pat Rafter Arena, particularly when she went 0-40 down in the first game of the second set.
But she fought her way back to win that game, and from that point the momentum turned as Azarenka began to find her rhythm and Jankovic started to fade.
After struggling to finish off Swiss player Stefanie Voegele in the quarter-finals on Thursday, wasting nine match points before eventually triumphing, Azarenka again faltered towards the end against Jankovic.
Serving for the match at 5-2, she was broken by Jankovic, who then held serve to make it 5-4.
But despite blowing a match point at 40-30, Azarenka won the next two to reach the final, where she will play either Serena Williams or Maria Sharapova.