Lewis Hamilton fought back from a slow start to win the Italian Grand Prix for Mercedes and cut team-mate Nico Rosberg's Formula One championship lead to 22 points.

Rosberg finished second yesterday as dominant Mercedes celebrated their first one-two since Austria in June, and their seventh in 13 races.

With the sport taking a deep breath as the championship rivals lined up together on the front row, two weeks after they had collided in Belgium, things were interesting from the off.

Hamilton had taken pole position for the first time since May but problems with the car's start mode left him struggling to get away, and fourth into the first corner as Rosberg sped away untroubled.

The 2008 world champion, however, took up the chase to retake the lead on the 29th of 53 laps when Rosberg missed the first chicane, as he had earlier in the race. With the German under pressure and driving straight on, slowing and weaving to get back on track, Hamilton seized the lead in the decisive moment.

The two crossed the finish line 3.1 seconds apart, with Hamilton celebrating his first win since Britain in July. It was his fifth of the season and 28th of his career, taking him ahead of triple champion Jackie Stewart in the all-time lists.

"It was a difficult race," said Hamilton. "For whatever reason, at the start the button didn't press which engages the launch sequence. For the formation lap it didn't work and when I got to the grid and put it on again, again it didn't work. I've never had that happen before. I tried to pull away as fast as possible and the RPM was all over the place. Fortunately I managed to not lose too many places."

Rosberg now has 238 points to Hamilton's 216, with six races remaining after the end of the European part of the season.

Brazilian Felipe Massa finished third for Williams, his first podium appearance since Spain last year with Ferrari, after the team had announced he is staying for 2015.

The points meant Williams leapfrogged Ferrari into third place in the constructors' standings, and the home crowd cheered their ex-driver's appearance on the podium from the start/finish straight.

Rosberg, blamed by his own team for the second-lap Spa collision that led to Hamilton's retirement from that race, was booed for the second grand prix in a row.

Massa's Finnish team-mate Valtteri Bottas finished fourth despite having dropped from the second row to 10th at the end of the first lap.

Ferrari's Fernando Alonso had retired on lap 29 with a failure in the car's energy-recovery system, his first mechanical retirement in 86 races, while Kimi Raikkonen finished ninth. Until yesterday, Alonso had been the only driver to have scored points in every race this season.