Tiwari was reportedly on borrowed time after the party's defeat in the Delhi Assembly election earlier this year.
The development also comes a day after Tiwari was detained for protesting against the Delhi government's handling of the coronavirus outbreak.
BJP announces new Delhi, Chhattisgarh, Manipur unit heads
BJP President JP Nadda announced that Tiwari, a member of the Lok Sabha, will be replaced by Gupta, a former mayor of the North Delhi Municipal Corporation, with immediate effect.
The party also named tribal leader and former Union minister Vishnu Deo Sai as its Chhattisgarh state president.
S Tikendra Singh has also been named the party's Manipur state president.
Tiwari had offered to resign after Delhi elections
An actor-turned-politician, Tiwari was appointed the Delhi BJP chief in 2016. Throughout his stint, the 49-year-old leader seemed unable to compete against the ruling Aam Aadmi Party (AAP) in Delhi.
Reportedly, Tiwari had offered to resign after the BJP's abysmal performance in the Delhi Assembly elections, but the party had asked him to continue serving as its Delhi chief until a replacement was found.
Tiwari was detained near Rajghat yesterday for staging protest
On Monday, Tiwari along with senior BJP leaders had staged protests at several locations in Delhi. The leaders aimed to draw attention to how the Delhi government has "failed" to handle the coronavirus pandemic.
Tiwari was detained near Rajghat for violating social distancing norms.
Last week, Tiwari was accused of violating the nationwide coronavirus lockdown after he was spotted playing cricket in Sonipat, Haryana.