Police say the officer was on patrol at Park and San Pablo Avenues when the driver of a white car ran into him.
The driver kept going and crashed into a bank parking lot.
Police say the man got out of his car, climbed onto the roof of a home and jumped into a school where he was finally arrested.
Police say the suspect had been trying to get away after breaking into a nearby business.
No one was seriously hurt.