Ferrari hadn't won an F1 Grand Prix since Vettel's victory in Singapore in 2015, while Mercedes dominated the last three seasons.
"It's a long, long way ahead. For now, we're just over the moon," four-time world champion Vettel said. "It's been a hard winter, and an incredible race today. We're here, we're here to fight."
With regulations designed to make the 2017 F1 cars faster — including wider tires, greater aerodynamics, bigger fuel loads and increased downforce — Vettel proved Ferrari's extra pace in pre-season testing was genuine.
Vettel finished in 1 hour, 24 minutes and 11.672 seconds, almost 10 seconds clear of Hamilton, to give Ferrari its first win in Australia since Kimi Raikkonen took the title in 2007. Raikkonen, in the second Ferrari, finished fourth this year.
For the second year running, Hamilton started on pole position at the Albert Park circuit and placed second. Last year, he lost to then Mercedes teammate Nico Rosberg, who went on to edge him for the world championship before retiring. This time, four-time world champion Vettel took the lead when Hamilton pitted for new tires on lap 18 and then got stuck in traffic behind Red Bull driver Max Verstappen.
Vettel was able to pit much later and gradually build up his lead as Hamilton drove conservatively on older tires to ensure he finished the race.
Mercedes won 19 of the 21 Grand Prix's last season, and Red Bull won the other two. But Red Bull was well off the pace in Melbourne, with Verstappen placing fifth — almost 29 seconds behind Vettel — and local hope Daniel Ricciardo failing to finish.
In fact, the Australian driver almost didn't start. Ricciardo's day started badly and kept getting worse as he got a grid penalty, missed the start after a mechanical failure in the warmup, and then retired after 28 laps.
He was among seven drivers who retired during the race. Former champion Fernando Alonso continued to struggle in his McLaren, retiring on the 50th of 57 laps, while 18-year-old Canadian rookie Lance Stroll got a grid penalty after needing an unscheduled gearbox change after a crash in practice and was wayward in his 40 laps on debut for Williams.
Haas didn't get a car across the finish, with Romain Grosjean out after 13 laps and Kevin Magnussen out after an eventful 46 laps.
Felipe Massa earned points for Williams with a sixth-place finish, while Force India teammates Sergio Perez and Esteban Ocon were 7th and 10th in their pink cars and finished either side of Toro Rosso drivers Carlos Sainz and Daniil Kvyat.