The 23-year-old Uruguay international becomes the Black Cats’ eighth summer signing after passing a medical on Wearside.
Coates joined Liverpool from Uruguayan-side Nacional in 2011 and has made 24 appearances for the Reds, scoring twice.
The centre-back has been capped 15 times by Uruguay and featured as a substitute in their 2-1 victory over England at the World Cup in Brazil this summer.
Sunderland have also completed the signing of Inter Milan attacking midfielder Ricky Alvarez, again on a one-year loan deal.
Two players have left the club to make room for the new arrivals, with French centre-back Valentin Roberge joining Ligue 1 side Stade Reims on loan for the rest of the season.
This comes after Sunderland confirmed on Monday that fellow French defender Modibo Diakite had left the club by mutual consent.