Gotze was a free agent after his contract as a Dortmund player expired.
Gotze was in his second spell as a Dortmund player, having initially departed for a three-year spell at Bayern Munich in 2013 before returning to the Signal Iduna Park in 2016 on a four-year contract.
The 28-year-old was however a shadow of his former self after returning as he battled injuries and struggled to hold down a regular place in the Dortmund first team.
It represented a major fall from grace to grass for a player who was tipped to take the world by storm after scoring the winning goal for Germany at the 2014 FIFA World Cup final.
Gotze played just 21 times in all competitions and scored three goals for Lucien Favre’s men last season.
“I had a lot of offers this summer but I am a man of feeling and make my own decisions," Gotze told PSV's official website.
"I feel I am ready for a very different challenge and I am confident that this should be a very comfortable transition for me.”
“Mario became interested after our head coach Roger Schmidt had gotten in touch with him," said PSV Director of Football John de Jong.
"And in the end he proved to be the godsend we had hoped for. We are delighted he has signed a contract with PSV. We are very proud.
“He can play every position in the attacking and midfield area. And he has gained international experience and brings the quality we need."