Daniel Ricciardo led Red Bull to the top of the timesheets in first practice for the German Grand Prix on Friday morning, edging out Mercedes Formula 1 rival Lewis Hamilton by four-thousandths of a second.

Despite having a penalty confirmed earlier in the session that means he will start at the back of the grid, Ricciardo was able to rally and post the fastest time in FP1, recording a best lap of 1m13.525s in the Red Bull RB14 car.

Ricciardo managed to avoid major damage on his car despite appearing to run over a can that was thrown onto the circuit just before posting his best time.

The lap set with 15 minutes remaining in the session on the Ultrasoft tyre saw Ricciardo edge out Hamilton by just 0.004s, leaving the Mercedes driver to settle for P2 at the chequered flag.

Ricciardo's Red Bull teammate, Max Verstappen, finished the session in third place ahead of Ferrari's Sebastian Vettel, who took fourth despite not using the Ultrasoft tyre, instead setting his fastest lap time on the Soft compound. The German driver finished the session 0.271 seconds back from Ricciardo at the front.

Fresh from having his new Mercedes contract announced this morning, Valtteri Bottas finished the session fifth ahead of Kimi Raikkonen in the second Ferrari. Like his teammate, Raikkonen's fastest time also came on the Soft compound tyre.

Haas led the midfield fight with Romain Grosjean and Kevin Magnussen in P7 and P8 respectively, with Charles Leclerc taking ninth for Sauber ahead of Nico Hulkenberg, who completed the top 10 for Renault.

Sergio Perez led Force India's charge in 11th ahead of Fernando Alonso, who only completed 13 laps and spent the early part of the session in the garage. McLaren claimed this was due to a planned setup change on his car, with teammate Stoffel Vandoorne only managing 14 laps for the same reason. He ended the session as the slowest driver.

Lance Stroll finished 13th for Williams ahead of Carlos Sainz Jr., whose session was cut short by a coolant leak on his Renault after a broken seal on his car. Brendon Hartley was P15 for Toro Rosso ahead of Williams' Sergey Sirotkin.

Force India FP1 stand-in Nicholas Latifi finished 17th in his second practice outing for the team, beating Toro Rosso's Pierre Gasly in 18th. Antonio Giovinazzi made his first appearance of the season for Sauber, replacing Marcus Ericsson for FP1. He ended the session P19.