The 33 year-old, who has struggled to hold down a first team place at the iPro stadium this season starting just ten games for Derby, had six seasons at Fulham before leaving in 2013.
“When the opportunity arose I had no doubt in my mind that I wanted to come and be part of this again,” Baird told the Fulham website.
“I’m looking forward to playing in front of the fans again. They were fantastic to me over the six years that I was here previously.”
The versatile Rasharkin man, who has 76 international caps to his name, made 165 appearances in his first spell at Craven Cottage but was released in the summer of 2013.
Baird, who began his career at Southampton, looked set to move across West London and link up with Queens Park Rangers but instead signed a deal with Reading despite being offered a contract at Loftus Road.
His stay at the Madejski Stadium was short-lived though before he was on the move again to first Burnley, then last season to West Bromwich Albion.
Baird only moved to Derby in the summer signing a year-long deal with the club, but his game time under boss Paul Clement, who was dismissed last week, were mainly from the bench over the past five months.