Lewis Hamilton rued being "too friendly" when he and Valtteri Bottas fought for the lead on the opening lap of the Azerbaijan Grand Prix on Sunday.
Bottas qualified on pole but was almost sent into the wall at turn one by the defending champion, who attempted a move down the inside at the first opportunity.
The Finn managed to keep his Mercedes team-mate at bay and led him across the line as the Silver Arrows claimed a record-breaking fourth successive one-two at the start of a Formula One season.
Hamilton was handed his first victory in Baku last year when Bottas drove over debris in the closing stages and the Briton knew he would find it difficult after failing to get an early overtake on Sunday.
"I didn't get the job done in qualifying, he did, and in the race I was too friendly at turn one and basically gave it to him," said Hamilton.
"But he drove a fantastic race, made no mistakes and deserved the win this weekend.
"This is not our strongest race in the season, it's always been a bit difficult for me so this is a great result for me and the team.
"It was a bit of an under-par performance from myself so I just need to work hard.
"There's certain races you struggle at compared to others and I can't really point it out. I got quicker at the end but it's too late by then."
All guns blazing
Ferrari was again tipped for success at Baku only to be once more outdone by Mercedes, which has a 74-point lead in the constructors' standings after just four grands prix.
Sebastian Vettel had to settle for third, two places ahead of Charles Leclerc, who took the bonus point for setting the fastest lap.
Hamilton said: "We thought it'd be a lot closer. But we are delivering on a very high percentage, both Valtteri and I. The team are pumping on all cylinders. [Ferrari] are not.
"So when they... if they start pumping on all cylinders and delivering then we'll have much more of a fight."