The 31-year-old will end his four-year stay at Craven Cottage on July 1 when his contract expires, at which point he will make the short journey to join QPR, who dodged relegation last term on their first season back in the top flight.
Johnson only scored 13 Premier League goals for the Whites during his injury-plagued spell, with three of those coming in the 6-0 thrashing of QPR back in October.
"Those were factors in me joining, but this is a big, big Club and I've spoken to the Chairman and Mark, who both have great ambition for QPR, and it's something that I wanted to be a part of.
"Mark was brilliant when I was at Fulham. I'd just come off the back of a rough spell with a knee injury and he guided and helped me through that period.
"He was great to play under. He's a top a manager and has some fantastic staff around him."
Johnson is the second free agent confirmed as joining the Rs on Monday, following the news that veteran defender Ryan Nelsen will be signing for them after leaving Tottenham this summer.