Hamilton topped the timesheets in the first sesson ahead of Red Bull’s Sebastian Vettel and Force India’s Paul di Resta, with Rosberg and Jenson Button completing the top five.
Rosberg was quickest in the second ahead of Red Bull’s Mark Webber. Vettel and Hamilton were next, with Michael Schumacher fifth for Mercedes.
The most controversial Grand Prix in many years saw trouble before the cars even got to the circuit, with both Force India and Sauber team personnel being caught up in the middle of clashes between protestors and police in recent days.
As a result, Force India sent two staff members home and decided not to run in the second session, with the intention being of getting the team safely back to the hotel before dark.
Team boss Bob Fernley said: “We have to ensure the crew are comfortable.”
Formula 1 promoter Bernie Ecclestone revealed he offered to travel back with the team if they stayed for practice, with no extra protection.
“If they want an escort, they can have police, I am happy to travel without. I don’t think they have any need to be concerned,” he said.
That the race is even going ahead is controversial given the ongoing unstable situation in Bahrain between the ruling minority Sunni government and the Shia majority, which contributed to last year’s race being postponed and eventually cancelled.
Despite protests from human rights groups, MPs and other international bodies, the FIA declared it was safe to go to Bahrain and as a result, the eighth race at Sakhir is due to take place on Sunday.
Ahead of practice, Hamilton said: “I think we have a car that can compete this weekend. We have shown that we have got good qualifying and race pace. We’re working hard to try and improve race pace but we’re there or thereabouts.”
Ferrari are again struggling this weekend, with Fernando Alonso claiming the Italian team’s best placing of eighth in the second practice session, with team-mate Felipe Massa 12th. They were 13th and 15th respectively in the first session.
Caterham look closer to the midfield than any other race so far this year, with both Heikki Kovalainen and Vitaly Petrov beating Toro Rosso’s Daniel Ricciardo in the first session, and then Bruno Senna’s Williams in the second.
MORE: The latest football news
MORE: The latest tennis news
BIOGRAPHY: Marcus Rashford