The 32-year-old turned down the offer of a new deal at Portman Road and opted instead to switch to Lancashire.
McGreal is the first signing for new Clarets boss Steve Cotterill, who was very happy to have captured the former Tranmere man.
"We are delighted to have John on board at Burnley Football Club," said Cotterill (pictured).
"John is a great signing and is one of the best defenders in the First Division.
"It is great that he has committed his future to Burnley."