The 27-year-old midfielder revealed on Wednesday that Tottenham Hotspur had reached an agreement with Dynamo over a deal, and his new employers confirmed the transfer in a statement on their website.
Tottenham manager Harry Redknapp signed Kranjcar from Portsmouth in 2009 and he made a big impact in his first campaign, scoring five goals and providing many assists from the left flank in 32 appearances.
But the emergence of Gareth Bale meant the Croatian dropped down the pecking order the following season and only made nine Premier League starts in 2011/12, although his campaign was curtailed by a knee injury.
Kranjcar admitted he will leave Tottenham with a heavy heart, but said the time was right to move after he grew frustrated at the lack of first-team opportunities at White Hart Lane.
"That club means a lot to me. It has been great," he told Sky Sports News. "I wanted to play more but I played some great footballers. Harry Redknapp has been a big part of my career - he is the one who brought me to Portsmouth and believed in me there.
"Obviously, he then took me to Spurs. After a great first season, where we made the Champions League and played a lot of matches, the last two were quite disappointing because you want to play football. That's what you grow up wanting to do."