O'Keefe speelde in de jeugd bij Ipswich Town en Southend United. Hij debuteerde voor Southend United op 18 november 2008 in de FA Cup tegen Telford United. Zijn competitiedebuut vierde hij op 20 januari 2009 tegen Leyton Orient. In totaal kwam hij tot een handvol wedstrijden voor Southend United. Op 18 augustus 2010 tekende hij een contract bij Crystal Palace. Drie jaar later steeg hij met de club naar de Premier League. Op 31 augustus 2013 scoorde hij zijn eerste treffer in de Premier League tegen Sunderland met een schot van net buiten het strafschopgebied.