O'Keefe made his First-Class debut for New South Wales against Tasmania in November 2005. O'Keefe took 2 wickets and scored 10 runs on debut. His first scoring shot was a six.
O'Keefe was called up to the Australian Test team to replace the injured Nathan Hauritz for the series against Pakistan in England, but did not play in the Tests. He made his Twenty20 international debut during the England tour. On the eve of the 2010 Ashes series O'Keefe performed impressively taking 4/88 against a full strength English batting line up.
These figures would remain the best by an Australian spinner all summer. He also top scored with the bat scoring 66 runs. The Kochi Tuskers Kerala picked him up at the Indian Premier League auction for $20,000.
In Sydney Grade Cricket he plays for Manly Warringah, although he originally played for Hawkesbury. He finished the 2013/14 domestic Sheffield Shield season as the leading wicket taker with 41 wickets for the NSW Blues, just edging out Western Australia's Jason Behrendorff. He made his Test match debut for Australia against Pakistan in the United Arab Emirates on 22 October 2014.
He was Australian Test Cap number 439.