The film begins at Flemner Air Base 20 years in the past. A pilot named Leland “Buzz” Harley (Bill Irwin) loses control of his plane and ejects, leaving his co-pilot Dominic “Mailman” Farnham (Ryan Stiles) to crash. Although Mailman survives, he is mistaken for a deer owing to the branches stuck to his helmet and is shot by a hunter.
Topper Harley (Charlie Sheen) wakes up from a nightmare he is having about the event when Lt. Commander Block (Kevin Dunn) asks him to return to active duty as a pilot in the U.S. Navy, to help on a new top secret mission: Operation Sleepy Weasel, commanded by the incompetent and oblivious Admiral Benson (Lloyd Bridges). Harley starts to show some psychological problems, especially when his father is mentioned. His therapist, Ramada (Valeria Golino), tries to keep Topper from flying, but she relents, and also starts to build a budding romance with Topper. Meanwhile, Topper gets into a rivalry with another fighter pilot, Kent Gregory (Cary Elwes), a former lover of Ramada and Mailman’s son, who blames Buzz Harley for his father’s death and believes Topper cannot handle combat pressure.
Meanwhile, Block starts privately meeting with an airplane tycoon, Mr. Wilson, who has recently built a new “Super Fighter” that will make the American pilots superior. Block reveals that he brought back Topper for the reason of making Sleepy Weasel fail. Block would then report that it was the Navy’s planes that were the real reason for the mission failure and that they need to be replaced with Wilson’s planes. During one of the last training missions, an accident between Pete “Dead Meat” Thompson (William O’Leary) and Jim “Wash-Out” Pfaffenbach (Jon Cryer) leaves Dead Meat dead and Wash Out reassigned to radar operator. Block believes this is enough to convince the Navy to buy new fighters, but Wilson calls it a “minor incident”, saying the planes need to fail in combat.
Meanwhile, Topper starts to show more feelings for Ramada, but she is conflicted by her past with Gregory. On the carrier U.S.S. Essess, Benson reveals the mission to be an attack of an Iraqi nuclear plant and Block assigns Topper to lead the mission, much to Gregory’s chagrin. Wilson, who is also on board, instructs a crew member to sabotage the planes, putting the pilots’ lives at risk. In the midst of the mission, Block mentions Buzz Harley to Topper, who becomes overcome with emotion and unable to lead. Block just starts to call out for the mission to be aborted when Iraqi fighters attack the squadron. All the planes’ weapons fail, and Block, realizing what has happened, tells Topper that he saw what really happened with Buzz and Mailman: That Buzz tried to do everything possible to save Mailman, but ended up falling out of the plane, failing in his attempts.
Inspired, Topper single-handedly beats the Iraqi fighters and bombs the nuclear plant, dropping a bomb directly on Saddam Hussein (who was taking a sunbath at the plant). Back aboard ship, Wilson’s plan is revealed, and his standing with the military is lost. Back in port, Gregory accepts Topper as a great pilot and lets Ramada be with Topper. The end credits show Dead Meat and Mailman in spirit with Dead Meat saluting and Mailman giving a thumbs up.