The 22-year-old is now tied to the club until the summer of 2015 having been rewarded for his impressive form in the second half of the season.
McClean joined Sunderland from Derry City for a fee of £350,000 in August and has scored four goals and claimed three assists since making his first start on New Year's Day.
"I'm thrilled to be here," McClean told the club's official website. "I'm really enjoying my football and to have earned a new contract is a dream.
"I'm over the moon to see my next three years with Sunderland."
Sunderland manager Martin O'Neill added: "I'm absolutely delighted that James has committed himself to the club. He's had an explosive start to his career here at Sunderland and long may it continue."
McClean made his Ireland debut in February and is thought to be a strong contender to win a place in Giovanni Trapattoni's squad for Euro 2012.