Orlando Bloom jumped over a sofa to punch Justin Bieber.
The Lord of the Rings actor was involved in an altercation with the Baby hitmaker at upmarket Ibiza eatery Cipriani earlier this week, and an onlooker claims the singer - who was rumoured to have slept with Orlando's then-wife Miranda Kerr almost two years ago - deliberately tried to provoke the British hunk.
Model Anastasia Skolkova, who was seated on a nearby table to Orlando, his friend Leonardo DiCaprio and other pals, said: "When Bieber walked maybe 10 metres away, Orlando maybe had half a minute to think about what he was going to do. He got up and started running. Then he jumped over the sofa.
"Nobody was sitting on the sofa, he jumped on it. Then security came and tried to separate them, but first, they had one punch.
"Then they separated. Then when everyone thought everything was quiet, they tried to fight each other again.
"Both tried to throw punches - but it was Bieber that provoked him. He said maybe two or three words to DiCaprio, then Orlando came in, maybe to defend what happened before with Miranda, and then he was angry. I couldn't hear exactly what was said."
Anastasia claims Justin - who didn't have a reservation at the restaurant - first approached Leonardo but was "flicked away" by the Wolf of Wall Street actor.
She told the Daily Mirror newspaper: "Bieber said something to DiCaprio - I don't know exactly what, because it was seven or eight metres away. Leo brushed his hands at him, like, I don't care what you say. Yeah, he flicked him away."
And following the altercation, security had the 'Believe' singer removed from the upmarket eatery.
Anastasia said: "When security saw that even after they got separated, Bieber and Orlando tried to punch each other, security were like, 'Bieber came, Bieber provoked this fight' so they took his hands behind his back and took him away from the restaurant."