Oliveira, que largou da 19.ª posição, terminou as 10 voltas a 15,058 segundos do vencedor, Alex Márquez, que deixou o compatriota Jorge Martin (Ducati) na segunda posição, a 1,589 segundos, com o italiano Francesco Bagnaia (Ducati) em terceiro, a 3,034 segundos.
Desta forma, Jorge Martin recuperou dois pontos ao líder do campeonato, 'Pecco' Bagnaia, colocando-se a 11 do primeiro lugar.
Mas o piloto madrileno apanhou um susto logo na volta de formação, ao ver uma peça soltar-se da sua mota, um problema que foi resolvido pelos seus mecânicos.
Bagnaia largou da 'pole position' mas cedo mostrou não ter ritmo para acompanhar Jorge Martin e Alex Márquez, que tem dominado o fim de semana na Malásia.
Já Miguel Oliveira fez um mau arranque e terminou a primeira volta em 21.º, depois de ceder duas posições face ao lugar de partida.
O piloto português foi recuperando ao longo das 10 voltas, fechando a corrida 'sprint' no 18.º lugar.
Enquanto isso, lá na frente, Alex Márquez encetava o ataque à vitória desde cedo mas, na terceira volta, falhou uma travagem e desceu a terceiro. Viria a chegar ao comando à sexta volta, vencendo pela segunda vez uma corrida 'sprint' esta temporada, depois de ter ganhado na Grã-Bretanha, quebrando uma série de cinco triunfos consecutivos de Jorge Martin.
O espanhol também se desenvencilhou de Bagnaia na sexta volta, recuperando mais uns pozinhos na luta pelo título mundial.
Nota ainda para a 27.ª queda sofrida pelo espanhol Marc Márquez (Honda), igualando o seu recorde negativo que datava de 2017.
O piloto catalão, que está de saída da Honda, retomou a prova, fechando em 21.º.
Com estes resultados, Bagnaia chegou aos 396 pontos, mais 11 do que Jorge Martin.
"Dei o máximo mas o máximo, hoje, não foi suficiente para vencer", sublinhou o italiano, depois de uma corrida extenuante, debaixo de temperaturas elevadas.
Miguel Oliveira mantém o 15.º lugar no campeonato, com 76 pontos.