O'Shea avait rejoint Manchester United à 17 ans. Il avait été prêté à Bournemouth (1999-2000) et à l'Antwerp (2000-2001). De 2001 à 2011, O'Shea a disputé près de 400 rencontres pour les Red Devils. Il a notamment remporté cinq titres de champion et la Ligue des Champions 2008 (contre Chelsea, en tant que réserviste).

Durant l'été 2011, O'Shea avait rejoint Sunderland, où il est resté jusqu'en 2018. Cette saison était la première à Reading. O'Shea a porté 119 fois le maillot de son équipe nationale (trois buts), prenant part aux Championnats d'Europe 2012 et 2016.