"It's been a really positive day. I'm very, very happy," said McLaren's Hamilton.
"We made some good changes to the car to get it dialled in, and we're on the right path, but we've still got some work to do. The Red Bull looks very quick, so does the Lotus, and obviously the Ferrari as well. So we're by no means feeling comfortable."
The Red Bull pair were less sure of their pace though, with the enforced changes to the car's engine map looking to have affected their performance.
Mark Webber was 13th in the morning and 14th in the afternoon, while Sebastian Vettel went 15th and 8th.
"There's still a lot of room for improvement and things that we need to do a bit better for the weekend - then we can see where we are," said Vettel.
"We got a decent run on the primes which was important and we learned things from that, but it looks tight."
This morning's session was incident-free, but in the afternoon rain fell halfway through second practice and many drivers took the opportunity to switch to intermediate tyres for some wet weather running.
Forecasts indicate a 50 percent chance of a wet race on Sunday.
Michael Schumacher and Romain Grosjean were the only drivers to crash in Free Practice 2. An hour into the 90-minute session, and with a river of water on the straight leading to Turn 12, Schumacher locked-up his Mercedes under braking and, unable to turn, understeered straight into the tyre barriers.
The car went in nose first, breaking the front wing. Initial checks show it suffered relatively minimal damage to the front end.
"I just ran out of road. I locked up and couldn't stop the car," said Schumacher, who finished sixth fastest in the first session. "I don't think it was aquaplaning, it was just one of these usual things."
Previously known as 'The Rainmeister', this was the seven-times world champion's second wet weather practice crash in a week, having made a costly mistake at Hockenheim. Nevertheless, he says he would welcome more rain this weekend.
"I think the rain might be an opportunity, as we have seen at Silverstone and Hockenheim. Let's see what happens," he said.
Lotus's Grosjean was fifth fastest in first practice and ninth in the second, damaging his front wing in the process.
"I made a mistake at Turn 7, went on the grass and lost the rear of the car and went in the wall. Sorry for the guys on the car who have to repair it. Hopefully we'll put on a new wing and it will stay on until Sunday night."
While Grosjean struggled for pace, team-mate Kimi Raikkonen was runner-up in Free Practice 2, just 0.185 behind Lewis Hamilton. "We were second fastest. It's difficult to say where we are compared to the others. My set-up in the last few races probably wasn't as good as it should have been. We'll try to have another good day tomorrow," he said.
In the morning session, as in Germany, he tested Lotus's double-DRS rear wing, which is still being developed and won't be raced this weekend. "We have to try different things and see how they are. It's the same with every new part."
Watch: Hamilton tops Hungarian practice... More Videos
Williams' third driver Valtteri Bottas took over from regular driver Bruno Senna in the morning and was encouraged by setting the ninth fastest time, while HRT's reserve Dani Clos took Narain Karthikeyan's car and finished up last, a second slower than team-mate Pedro de la Rosa.
01 Lewis Hamilton McLaren 1:21.995 20 laps
02 Kimi Raikkonen Lotus 1:22.180 0.185 20 laps
03 Bruno Senna Williams 1:22.253 0.258 34 laps
04 Felipe Massa Ferrari 1:22.417 0.422 29 laps
05 Fernando Alonso Ferrari 1:22.582 0.587 22 laps
06 Jenson Button McLaren 1:22.747 0.752 17 laps
07 Paul di Resta Force India 1:22.794 0.799 23 laps
08 Sebastian Vettel Red Bull 1:22.824 0.829 18 laps
09 Romain Grosjean Lotus 1:22.922 0.927 12 laps
10 Michael Schumacher Mercedes 1:23.160 1.165 19 laps
11 Nico Rosberg Mercedes 1:23.164 1.169 29 laps
12 Pastor Maldonado Williams 1:23.337 1.342 26 laps
13 Nico Hulkenberg Force India 1:23.713 1.718 26 laps
14 Mark Webber Red Bull 1:23.814 1.819 17 laps
15 Kamui Kobayashi Sauber 1:23.841 1.846 28 laps
16 Jean-Eric Vergne Toro Rosso 1:24.328 2.33 25 laps
17 Daniel Ricciardo Toro Rosso 1:24.345 2.350 28 laps
18 Sergio Perez Sauber 1:24.623 2.628 23 laps
19 Vitaly Petrov Caterham 1:24.823 2.828 30 laps
20 Heikki Kovalainen Caterham 1:25.220 3.225 30 laps
21 Timo Glock Marussia 1:27.104 5.109 28 laps
22 Pedro de la Rosa HRT 1:27.106 5.111 19 laps
23 Charles Pic Marussia 1:27.185 5.190 24 laps
24 Narain Karthikeyan HRT 1:27.822 5.827 20 laps