Lewis Hamilton won his fifth Italian Grand Prix after a first-lap clash with title rival Sebastian Vettel which spun the Ferrari driver back to 17th.