The Brazilian-born forward, who plays for Stuttgart, scored on a header in the 16th minute for his first goal in six games for Germany. He added another goal in the 58th off a pass from Lukas Podolski.
Podolski's low cross was turned in by Malta's Kenneth Scicluna for an own goal in the 61st.
Dennis Aogo, the Hamburg midfielder who made Germany's preliminary World Cup roster in a surprise, made his national team debut and set up Cacau's first goal.
Germany coach Joachim Loew was without players from Werder Bremen and Bayern Munich, who play in the German Cup final on Saturday. Germany captain Michael Ballack remained with Chelsea, which plays Portsmouth in the FA Cup final Saturday.
Because of the many absences, Thursday's roster included several players who were not selected for the World Cup.
"Some young players had a good game, but we did not score enough goals," Loew said. "We created chances but we missed too many, even after we stepped up the pressure in the second half. It was an opportunity for some young players to show what they can and some of them had a good game. I wish I had all the players but I have no choice. We have some hard work ahead of us."
Germany travels to Sicily on Friday for a light training camp, then moves to the mountains of northern Italy. Seven Bayern Munich players will not join the national team until after the Champions League final against Inter Milan on May 22.