On 9 January 2008, it was revealed that Carroll was in line for a move to Premier League side Derby County.
Carroll was allowed permission to talk with Derby and personal terms were agreed, but the deal hinged on Rangers signing a replacement goalkeeper.
After over a week with little progress, Derby County called off the move, but when Carroll offered to pay the loan fee so Rangers could sign Sunderland keeper Darren Ward, the deal was revived.
Carroll hoped to join Derby on loan for the rest of the 2007–08 season but the move was again held up by Rangers as they refused to release his registration until they found another keeper.
After Rangers signed Neil Alexander from Ipswich Town, Carroll was free to sign for Derby, and a deal was completed on deadline day.
He signed a three-year contract with the club on 21 January 2008, and made his debut in a Premier League match against Birmingham City on 2 February 2008.
Carroll could not help the club avoid relegation to the Championship after just one season.

Carroll started the 2008–09 season as the club's first choice goalkeeper, but after getting sent off in a 2–1 victory at Norwich City he lost his place and was restricted to making appearances in cup competitions.
He was part of the Derby side that reached the 2008–09 Football League Cup semi-final, where they lost 4–3 on aggregate to his former side Manchester United.
After Paul Jewell resigned in December 2008, he was replaced by Nigel Clough.
Clough made it clear Carroll was not in his plans and, a week into the 2009–10 season, it was announced that Carroll's contract with The Rams would be cancelled to allow him to move to Danish side Odense BK.
On 9 January 2008, it was revealed that Carroll was in line for a move to Premier League side Derby County. Carroll was allowed permission to talk with Derby and personal terms were agreed, but the deal hinged on Rangers signing a replacement goalkeeper. After over a week with little progress, Derby County called off the move, but when Carroll offered to pay the loan fee so Rangers could sign Sunderland keeper Darren Ward, the deal was revived. Carroll hoped to join Derby on loan for the rest of the 2007–08 season but the move was again held up by Rangers as they refused to release his registration until they found another keeper. After Rangers signed Neil Alexander from Ipswich Town, Carroll was free to sign for Derby, and a deal was completed on deadline day. He signed a three-year contract with the club on 21 January 2008, and made his debut in a Premier League match against Birmingham City on 2 February 2008. Carroll could not help the club avoid relegation to the Championship after just one season.
Carroll started the 2008–09 season as the club's first choice goalkeeper, but after getting sent off in a 2–1 victory at Norwich City he lost his place and was restricted to making appearances in cup competitions. He was part of the Derby side that reached the 2008–09 Football League Cup semi-final, where they lost 4–3 on aggregate to his former side Manchester United. After Paul Jewell resigned in December 2008, he was replaced by Nigel Clough. Clough made it clear Carroll was not in his plans and, a week into the 2009–10 season, it was announced that Carroll's contract with The Rams would be cancelled to allow him to move to Danish side Odense BK.
Roy Carroll