US President Donald Trump launched a stinging attack on Germany at the start of a NATO summit in Brussels on Wednesday, saying an "inappropriate" gas deal with Moscow made it a "captive" of Russia.
Trump appeared to catch NATO chief Jens Stoltenberg unawares as he abandoned the polite formality of a breakfast meeting and lashed out at Berlin and other allies for failing to pay their way.
"Germany is captive of Russia because it is getting so much of its energy from Russia," Trump said, referring to Berlin's deal for the Nord Stream II gas pipeline.
"Everybody's talking about it all over the world, they're saying we're paying you billions of dollars to protect you but you're paying billions of dollars to Russia.
Trump added that "Germany is totally controlled by Russia."
Trump will meet Russian President Vladimir Putin in the Finnish capital on July 16 for their first summit amid an ongoing investigation in the United States into possible Trump campaign collusion with Russia.
Germany has been a frequent target for Trump, who accuses the EU's largest economy of not spending enough on defence and freeloading on the back of the United States.
Trump then repeated his wider accusation against NATO as a whole for failing to pay enough.
"We're protecting Germany, France and everybody... this has been going on for decades," Trump said
"We're not going to put up with it and its inappropriate," Trump said.