Lewis Hamilton bounced back from a disappointing first practice to finish fastest in the day's concluding action for Sunday's Portuguese Grand Prix.
The seven-time world champion called his Mercedes "undriveable" as he toiled to fifth in the morning running at Portimao, almost one second slower than teammate Valtteri Bottas.
But Hamilton ended the afternoon 0.143 seconds clear of championship rival Max Verstappen, with Bottas third.
Formula One is in the Algarve for the third round of the season, with Hamilton holding a slender one-point advantage over Verstappen following the Dutchman's fine win at a rain-hit Imola a fortnight ago.
And the stage appears set for another close battle between the grid's two brightest stars, with little to separate Mercedes and Red Bull on Friday.
The Portimao circuit is nicknamed the rollercoaster due to its undulation and fast-sweeping corners, and it proved troublesome for both Hamilton and Verstappen.
In the opening moments of the first running, Hamilton radioed the Mercedes pit wall calling for "serious changes" to the setup of his car.
Later in the day, he complained about the handling of his car while running on the softest tyres.
Verstappen also struggled on the softer rubber.
"What a joke," he said over the radio. "I cannot see where I am going because of the vibrations."
Told by his team he could stop if it was a safety concern, he replied: "It is OK, I will just visit the dentist after the weekend is over."
Following his 200mph crash with George Russell in Imola, Bottas will take some comfort from topping the time charts in the morning session. However, he ended the day third, 0.344 sec slower than Hamilton.
Ferrari driver Carlos Sainz finished fourth ahead of double world champion Fernando Alonso and his Alpine team-mate Esteban Ocon.
McLaren's Lando Norris, third in the standings following his strong start to the season, was only 12th.
Russell, who issued an apology to Bottas for his conduct after their high-speed coming together, finished an impressive seventh in his Williams in the first running before settling for 13th in the concluding action.
On his grand prix debut, British driver Callum Ilott was 17th of the 20 runners, four tenths slower than Kimi Raikkonen in the other Alfa Romeo.
Ilott, 22, was announced as a reserve driver for Alfa Romeo earlier this week and is expected to take part in a number of opening practice sessions throughout the season.