The PC was attacked as he tried to stop a van in Leyton early on Thursday. He managed to Taser his assailant while being stabbed in the head and body.
He suffered multiple injuries but the Met Police says he will recover.
Muhammed Rodwan, 56, from Luton, is due to appear at Thames Magistrates' Court on Friday.
Two uniformed officers tried to stop the van at the junction of Coopers Lane and Leyton High Road, the Met said.
The injured PC, 28, is a patrol officer who has been with the force for about 10 years.
Speaking earlier, Prime Minister Boris Johnson said the attack "underscores for me the bravery of our police, people who actually go towards danger to keep us safer".