The Zero’s flaw is well-known. It had no armor to speak of, making it very vulnerable to even the F4F Wildcat when tactics like the Thach Weave were implemented across the U.S. military.
The Spitfire’s problem was in its engine.
A Spitfire Mk. 1A flies in 1937. (Photo: Royal Air Force)
The Rolls Royce Merlin was a great motor, but the real problem was how the Spitfire got the fuel to the engine. The Spitfire used a carburetor, which is fine for straight and level flight, but when does a dogfight involve staying straight and level?
The Spitfire’s carburetor would, in the course of maneuvering, cause the engine to cut out for a lack of fuel. When it returned to straight and level flight, the Spitfire would have an over-rich fuel mixture, which ran the risk of flooding the engine. It would also create a huge cloud of black smoke, that the Nazis quickly realized as a tell-tale sign of a sitting duck.
This screenshot of a scene from the 1969 movie The Battle of Britain shows the black cloud of smoke that comes after a Spitfire’s fuel mixture is over-rich. (Youtube Screenshot)
So, what did work? The fuel-injection system used by the Nazis in the Me-109. This gave the Nazis a slight edge in the actual dogfights. This could have been a disaster for the Brits, but when their pilots bailed out, they were often doing so over home territory, and a new Spitfire was waiting for them. German pilots who lost dogfights over England were POWs.
The problem, though, proved to be very fixable. Beatrice Schilling, an engineer, managed to come up with a workaround for the over-rich problem that removed the black cloud of smoke and prevented the engine from flooding. That stop-gap helped the RAF stay competitive until a more permanent fix came in 1942.