Croft begann im Alter von elf Jahren mit dem Rugbysport an seiner Schule. Er spielte fünf Jahre beim Newbury RFC, bevor er 2005 zu den Leicester Tigers stieß. Sein Debüt für England gab er 2008 bei den Six Nations gegen Frankreich. Er setzte sich während des Turniers als Stammspieler durch und wechselte zwischen der Position des Flügelstürmers und der zweiten Reihe. Im Jahr 2009 wurde er für die Tour der British and Irish Lions nach Südafrika nominiert, nachdem Alan Quinlan suspendiert wurde. Er gewann mit seinem Verein in diesem Jahr die englische Meisterschaft und erreichte das Finale im Heineken Cup. Dort mussten sich die Tigers jedoch Leinster geschlagen geben.