With nine laps remaining, South African rookie Binder overhauled early leader Franco Morbidelli of Petronas Yamaha before holding his nerve to seal victory in only his third start in the premier class.
The result also represents a first MotoGP win for KTM since making its full-time debut in 2017.
IWD special – 'Any sport should be equal' – FHO Racing boss on proving women belong in motorsport
"Right now I'm lost for words," Binder said. "This was a dream I had when I was little kid. Thanks to everyone for supporting me.
Hats off to my team, they did an unbelievable job. Hopefully it's a first of many.
Morbidelli clung onto second position for his first MotoGP podium, while pole sitter Johann Zarco finished third after a sloppy start on his Avintia Ducati.
"I'm overwhelmed right now and just enjoying the moment," Morbidelli said. "I saw Brad catching me but I decided not to do anything silly. Now we go to Austria with great joy."
Zarco expertly held on to podium finish despite being forced to take a long lap penalty after his involvement in a collision that eliminated KTM's Pol Espargaro.
Quartararo, who won the opening two races of the season in Jerez, struggled for grip on his Petronas Yamaha to cross the line in seventh place.
In a frustrating day for Ducati's factory team, Andrea Dovizioso finished over 16 seconds off the winning pace in 11th, one place ahead of team mate Danilo Petrucci.
In the absence of world champion Marc Marquez, team mate and younger brother Alex took the last point for Repsol Honda with a 15th-placed finish.
Valentino Rossi came fifth on his Yamaha, while team mate Maverick Vinales's 14th-placed finish meant no Spaniard made it to the MotoGP podium for the first time since the British Grand Prix in 2015.
Vinales' disappointing afternoon ensured Quarataro extended his championship lead to 17 points, while Morbidelli moved up to third.
Malaysian MotoGP testing cancelled due to pandemic
Local hope Oliveira takes pole for season-ending Portuguese MotoGP race