Oliveira edged Pramac Ducati's Jack Miller and pole-sitter Pol Espargaro of KTM in a three-way battle on the final lap, sealing a first-ever premier class victory for the KTM Tech3 team.
Earlier, Vinales was approaching turn one at around 140 mph when he was forced to jump off his Yamaha due to a brake failure with the bike crashing into the air wall and bursting into flames.
Suzuki's Joan Mir made a solid start to open up a lead of over two seconds by the end of lap 16 before the race was brought to a halt after Yamaha's Vinales suffered a horrific crash.
As Vinales approached turn one, the Yamaha rider realised his brakes had failed and he jumped off his bike at around 215 km per hour before it crashed into the air wall and burst into flames.
The Spaniard walked away without any serious injuries and the race was restarted with 12 laps remaining.
Miller and Espargaro produced a string of blistering laps to take control of the race.
In an intense final lap, Miller forced Espargaro wide on the final corner, only for Oliveira to come from third spot to claim victory in the 900th premier class race.
"I'm very emotional right now," the 25-year-old Oliveira said. "I'm thankful to all the people who believed in me, including my family, the team and the sponsors.
"It's history today for me and my country. I couldn't be happier to have done it here at the home of (of my team) at the Red Bull Circuit."
Mir finished fourth, ahead of last weekend's winner Andrea Dovizioso, who slipped out of podium contention after running his Ducati wide in the closing stages of the race.
Petronas Yamaha's Fabio Quartaro struggled for pace for a second consecutive race in Austria as he finished 13th, retaining a slender three-point lead over Dovizioso in the Championship standings.
The opening five rounds of MotoGP season have produced four different winners, with Quartaro winning the first two races in Jerez.
The Championship will head to Italy for a double-header at the Misano World Circuit, with the first race scheduled for Sept. 13.