Vekic superou a número 2 do mundo de virada por 6-7(5), 6-3 e 6-0 em 2 horas e 22 minutos.
Esta foi a sexta vitória da 31ª do ranking sobre Sabalenka em oito encontros.
Vekic enfrentará na próxima fase a romena Sorana Cirstea, que superou Veronika Kudermetova por 6-1 e 6-4.
Vinda do quali nesta edição do torneio emirati, a croata já alcançou duas quartas de final de Grand Slam na carreira, mas tenta chegar às oitavas de final de um torneio WTA 1000 pela primeira vez.
Sabalenka fazia sua primeira aparição desde a conquista do bicampeonato do Australian Open, em 27 de janeiro.
E, após vencer um primeiro set disputado, a bielorrussa parecia em curso para seguir em frente em Dubai.
No entanto, velhos fantasmas reapareceram no jogo de Sabalenka, que cometeu 8 duplas faltas na partida.
Vekic dominou o restante do encontro, a ponto de conseguir vencer 12 dos últimos 13 games para fechar o jogo com um pneu em cima da número 2 do mundo.
"Sinto que as condições aqui não me favorecem em nada. É muito difícil para mim competir em Dubai. É uma quadra muito complicada para mim", disse Sabalenka após o duelo.
Rybakina escapa de boa
Se a 2ª do mundo ficou pelo caminho, a número 4 do ranking, Elena Rybakina, avançou de fase no WTA 1000 de Dubai, nesta terça (20).
Campeã na vizinha Abu Dhabi há duas semanas, a cazaque perdeu o primeiro set para a bielorrussa Victoria Azarenka, mas se aproveitou de uma contusão da bicampeã de Dubai para ganhar o jogo.
Azarenka sofreu com dores no segundo set e foi forçada a abandonar o jogo em 4-6 e 6-2.
Rybakina encara a polonesa Magdalena Frech (53ª) na próxima fase.
Já oitava cabeça-de-chave Maria Sakkari (11ª) interrompeu uma série de três derrotas consecutivas ao vencer a americana Emma Navarro por 6-2 e 6-4. Sakkari enfrentará na terceira rodada a italiana Jasmine Paolini, que derrotou a canadense Leylah Fernandez por 6-3 e 6-4.