Mid-season friendly: Utrecht 0 Dortmund 1
Jurgen Klopp's men have now won all three of their mid-season warm-ups by the same scoreline, with Sion and Steaua Bucharest having previously fallen to the Bundesliga strugglers.
Kampl's winner came in the 16th minute, when he raced on to a Marco Reus throughball and slotted through the legs of goalkeeper Robbin Ruiter.
Adrian Ramos struck the post early in the second half, while at the other end, Roman Weidenfeller was rarely tested.
Dortmund were without both Sebastian Kehl and Kevin Grosskreutz for the fixture - both injured in the victory over Steua on Saturday, with the former confirmed to be out for four weeks with a shoulder problem.
Klopp's men face one more friendly against Fortuna Dusseldorf before returning to Bundesliga action at Bayer Leverkusen on January 31.