Schalke players celebrate the title
Julian Draxler scored a spectacular opener in the 18th minute, before goals in each half from Dutch striker Klaas Jan Huntelaar, and one each from Benedikt Hoewedes and Jose Manuel Jurado consigned Duisburg to its fourth cup final loss.
Schalke - which finished 14th in the league and made it to the semifinals of the Champions League - last won the cup in 2002.
It was most likely Germany goalkeeper Manuel Neuer's last game for Schalke before an expected move to Bayern Munich.
Spanish striker Raul Gonzalez - who had never won the Spanish Cup in 16 seasons at Real Madrid - led the celebrations.