Victory meant Nadal set the record for the longest Davis Cup winning streak in combined singles and doubles matches with 23 in a row.
In a marathon encounter which stretched on for nearly five hours, Tim Puetz and Jan-Lennard Struff beat Marc Lopez and Feliciano Lopez 6-3, 6-4, 3-6, 6-7, 7-5.
Kohlschreiber also went down tamely in the second set, before putting up more of a fight at the start of the third, but 16-time Grand Slam victor Nadal was relentless and wrapped up the match.
"It's positive of course, winning in straight sets, it was a solid match".
Germany team captain Michael Kohlmann said: "This is what the Davis Cup is all about".
Fognini missed two chances to take the third set, failing to serve out at 5-4 and then wasting a break point in the 11th game. "We ended up winning a pretty comfortable breaker and from that I felt like we were pretty much on top and we just had to finish it off".
April 7, 2018; Nashville, TN, USA; John Isner (USA) and Sam Querrey (USA) and Jack Sock (USA) and Ryan Harrison (USA) and Steve Johnson (USA) celebrate winning the Davis Cup tie against Belgium at Belmont University.
The 36-year-old Ferrer held firm in the eighth game of the final set to save three break points and then pounced at 5-5 to secure the break before serving out for victory.
Croatia will take on the United States in the other semi-final, with both ties to be played on 14-16 September.
Tomorrow, Nadal will go toe-to-toe with Alexander Zverev, the world number four widely seen as heir apparent to the great Spaniard.
Elsewhere, defending champions France booked a home semi-final against Spain as Lucas Pouille claimed a hard-fought win over Fabio Fognini in Genoa to give the visitors a 3-1 victory in the tie.
Spain had not lost a Davis Cup tie on clay at home since Brazil ousted them in 1999 and Germany was very close of doing that today, with Philipp Kohlschreiber giving his 120% against Ferrer in the deciding fifth rubber.
In Varazdin, Ivan Dodig and Nikola Mektic overcame Kazakhstan's Timur Khabibulin and Aleksandr Nedovyesov 6-7 (2) 6-4 6-4 6-2 to hand hosts Croatia a 2-1 lead.