Colombia are unbeaten in 11 games
Liverpool striker Luis Diaz headed Juan Cuadrado's cross past Marc-Andre ter Stegen for the opening goal.
Juventus veteran Cuadrado added a late penalty following a handball from Joshua Kimmich, who had just come off the bench.
Manchester City captain Ilkay Gundogan skippered his country in his hometown of Gelsenkirchen.
Manager Hansi Flick's side, who are playing friendlies because they qualify automatically for Euro 2024 as hosts, are winless in four games.
After losing 3-2 to Belgium in March, they drew 3-3 with Ukraine and lost 1-0 to Poland this month.
They have only won 12 of Flick's 24 games in charge.
-- Courtesy of BBC Sport