Leclerc led the majority of the race from pole as he did a week ago in Belgium, although this was an even more fraught affair than Spa.
Whereby Hamilton had only just run out of laps in Belgium, he was stuck to Leclerc's gearbox for the most part here until a lock-up into Turn 1 11 laps from the end finished his challenge.
When Bottas took over the fight, he caught Leclerc with three laps to go, but an error at the same spot as his team-mate freed the Ferrari to take victory.
Leclerc is the first home winner since Fernando Alonso and crucially has moved above Sebastian Vettel in the drivers' standings for the first time all year as the German endured a wretched race.
Vettel spun off the track when running fourth, then almost wiped out the Racing Point of Lance Stroll when rejoining the circuit, for which he was deservedly punished. Vettel finished 13th and his "priority" over Leclerc is surely now consigned to history.
Leclerc might have four wins to his name by now if not for heart-breakers in Bahrain and Austria, and it was clear that the lessons from Spielberg had been learnt.
At the Red Bull Ring, Leclerc offered up little fight to Max Verstappen, instead waiting for the stewards to help him out.
Here, though, Hamilton was muscled out at the second chicane on one of his many assaults as Leclerc showed he won't be pushed around in the years to come, when title challenges will surely follow.
Leclerc just kept his nose ahead after running wide at the first chicane, and there was no repeat of the Canadian GP, where Vettel was penalised for a seemingly similar incident.
Hamilton pitted late for the fastest lap with third place secure, meaning Bottas has only cut his championship lead to 63 points.
Daniel Ricciardo and Nico Hulkenberg converted strong grid spots into fourth and fifth for Renault, boosting their bid for constructors' championship positions.
Alexander Albon could not catch them after an early dice off-track and settled for sixth ahead of Sergio Perez in seventh and Max Verstappen in eighth, who both pulled off fine drives from the back of the grid, while Antonio GIovinazzi and Lando Norris rounded out the points.
GPFans is a multi-platform, multi-language brand dedicated to Formula One coverage. We bring you all the ins and outs of the sport, 24/7, everything from up-to-the-minute news and features to the latest viral stories and clips.
We believe that a new generation of exciting, outspoken drivers will make F1 more popular than ever before, and we want to give our users access to as much of their heroes as possible, on and off the track. From Lewis Hamilton to Max Verstappen, Daniel Ricciardo to Sebastian Vettel, we provide in-depth analysis of every every Grand Prix in the season, from Australia to Abu Dhabi.
With Formula One under the new ownership of Liberty Media, how the sport is being covered is evolving, and GPFans will look to be at the heart of this progression into new media, as one of the fastest-growing sites covering the king of motorsports.