The African champions let in goals from Kerem Demirbay and Timo Werner, who netted twice, while Vincent Aboubakar grabbed a consolation goal for them.
The Indomitable Lions also had Ernest Mabouka sent off after confusion involving the Video Assistant Referee.
Sebastien Siani was initially dismissed in a case of mistaken identity before the error was corrected.
Colombian referee Wilmar Roldan consulted the VAR after a high challenge by Mabouka on Germany's Emre Can led to Cameroon captain Siani wrongfully receiving a yellow card.
However, the initial outcome was to switch the colour of Siani's card to red.
It was only after Cameroon's players insisted he review the incident again that he realised his error, rescinded Siani's dismissal and sending off the correct culprit Mabouka.
"The referee didn't give any explanation," said Cameroon coach Hugo Broos.
"First of all he gave a red card against Siani, then the video ref called him back and told him it was the wrong player, so Mabouka was sent off.
"Both players [Can and Mabouka] had their legs high, so I don't see why he had to give a red card. I think everyone is confused
"I didn't understand it and I still don't understand it now.
"I think this is something for the referee. He and he alone can explain what happened in that incident."
As Group B winners, Germany will face Mexico in the last four in Sochi, Russia.
Portugal will play Chile in the other semi-final.
Cameroon's Confederations Cup campaign is over after a 3-1 defeat by Germany in their final Group B game on Sunday.