The Finn, second quickest behind the three-time champion Briton in the morning, clocked a best lap in one minute and 21.406 to outpace him by 0.056 seconds.
World championship leader Sebastian Vettel was third quickest for Ferrari, one-tenth of a second adrift, as the two leading teams closed up at the top ahead of the Italian outfit’s annual home event.
Kimi Raikkonen was fourth in the second Ferrari, more than half a second beyond the reach of Dutchman Max Verstappen in the leading Red Bull and nearly a full second clear of Daniel Ricciardo in the second Renault powered machine.
Hamilton was again in fine form and together with a speedy Bottas demonstrated that it will take something special to stop him breaking Michael Schumacher’s record by reeling off a fourth consecutive Monza pole and the 69th of his career in qualifying on Saturday.
“It’s been a good day, a clean day,” said Hamilton.
“We got the running done – we got through the programme without any problems. The car seems nicely balanced.
“We just have some work to do to eke out a little bit more performance – it looks close between us and the Ferraris so I anticipate it’s going to be similar to the last race.”
Bottas was also optimistic and relieved that the weather remained mostly dry.
– ‘Improve the car’ –
“It was nice that it stayed dry because all the forecasts said that the rain could affect the running — and we could have limited running before qualifying, and the race, in the dry, but we got our full plan done.”
Vettel said he felt he lacked the required confidence to extract the maximum from his car around the high speed circuit.
“We can improve the car,” he said. “I don’t yet have the confidence I want and need round here.
“There are a couple of things we need to do better – car balance, stability and braking, which is important round here to get the confidence.
“Because you are low down-force, you need to have the confidence to just throw the car there. We are not yet where I think we can be, but I think we should be a bit better tomorrow.
“For sure, we’ll be quicker but by how much? I don’t know… Let’s see.”
A strong showing from Stoffel Vandoorne and his McLaren team-mate Fernando Alonso also caught the eye as they took seventh and eighth ahead of Esteban Ocon of Force India and Felipe Massa of Williams.
After an overcast morning punctuated by light showers, the second session began in warm sunshine, Raikkonen leading the way as he and compatriot Bottas traded early fastest laps.
Hamilton then took command before Bottas delivered his best lap shortly before the teams switched their attentions to long runs, in race preparation, instead of one lap pace.
Both Red Bulls and Alonso, along with Spaniard Carlos Sainz of Toro Rosso, are due to be hit by grid penalties after unscheduled replacement of engines, or engine components.
Alonso, who briefly ran Honda’s latest engine early in FP1, switched back to the power unit he used in Belgium last weekend for the remainder of the day – a tactic intended to permit the team to test their prime engine in readiness for the Singapore Grand Prix where they hope and expect to be strong.