The officer's family was inside the Pepper's Steak and Seafood on Fairmont when the gunman walked in.
The officer's family called him and told him the man was waving the gun around and threatening customers and staff. The officer rushed to the restaurant and confronted the man.
The officer came face to face with the suspect inside, who displayed his weapon and failed to respond to commands to drop the gun, police say. The Houston officer responded with several rounds of gunfire, striking the suspect multiple times. The suspect was transported via Life Flight to Herman Hospital.
The case is under investigation by Pasadena police detectives, Houston PD Internal Affairs, and the Harris County District Attorney's Office.
The officer and customers were not hurt.