The Hoops had an initial offer of £500,000 turned down by their Scottish Premiership rivals for Hendry.
And Rangers were monitoring the situation with an eye to steal a deal from under the noses of Celtic.
However, the 22-year-old has now completed his move to Celtic Park after Brendan Rodgers’ side upped their bid to £1million.
“I’m absolutely delighted to have signed for Celtic,” Hendry told Celtic’s club website.
“Joining the Scottish champions is a brilliant move for me.
“I know, from playing against Celtic this season, the quality of players that are at the club and I can’t wait to start training with my new team-mates.”
Celtic also managed to capture Bain on loan from Dundee, who joined Hibernian on loan earlier this month but he hadn’t featured for Neil Lennon’s side.
He comes in as cover for Craig Gordon who was ruled out for 12 weeks after injuring his knee.
And Bain was equally as excited to join the reigning Scottish champions.
“This is biggest club in Scotland and one of the biggest clubs in the world, so I just can’t believe that I’m here.
“I phoned my dad earlier today just to say that I was leaving Easter Road and on the road to Glasgow, and he was buzzing and delighted for me.
“I can’t believe I was on the bench for Hibs against Celtic last weekend and then, just a few days later, I’m signing for Celtic.”