Republic of Ireland winger puts pen to paper on a new deal after breaking into Martin O'Neill's first team and making his international debut in eventful season
The Irish winger made his debut for the club this season before securing a regular position under new manager Martin O'Neill.
The 22-year-old joined from Derry City last summer for an initial fee of £350,000 and has since appeared 19 times for the Black Cats.
McClean said: "I'm thrilled to be here. 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."
He made his Premier League debut in O'Neill's first game in charge, helping the club to a 2-1 win over struggling Blackburn. He has since become a permanent fixture on the left-hand side of midfield and has gone on to score four times in his 19 appearances.
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 has also received a call-up to Giovanni Trapattoni's Republic of Ireland squad, making his international debut against the Czech Republic in February of this year.
He began his career at local Irish team Trojans FC before moving to Airtricity League side Derry City and working his way through the academy. He made 73 league appearances until Sunderland secured his services in August 2011.