Tennant, who is best known for his work on the TV series "Doctor Who," played the title character in the Royal Shakespeare Company's production of "Hamlet" in Stratford-upon-Avon last summer and was to reprise the role when the staging recently moved to London.
However, his back injury forced him out of Monday's preview and Tuesday's press performance.
The RSC told the BBC Tennant won't be back on stage "before Christmas" and his understudy Edward Bennett will continue in the role until Tennant returns.
The production is scheduled to run through Jan. 10.
"My back problem has progressed to the point where it is currently impossible for me to carry on without surgery," Tennant said in a statement issued to the BBC. "I want to get back onstage as quickly as possible and I am very grateful to Ed who has courageously got to grips with the role, but in a much shorter time. It's a fantastic achievement."
RSC Artistic Director Michael Boyd added, "We all wish David a speedy recovery and it is an indication of the RSC's investment in understudies that Ed Bennett can take over Shakespeare's largest role at such short notice."
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'