Admiral Nimitz had one advantage: code experts had broken the Japanese Navy's JN-25b code. Since the early spring of 1942, the US had been decoding messages stating that there would soon be an operation at objective "AF". They guessed that it was Midway and sent an uncoded radio message that Midway needed fresh water. The code breakers then picked up a Japanese message that "AF was short on water." was also able to determine the date of the attack as either 4 or 5 June, and to tell Nimitz exactly which Japanese ships were coming. Japan had a new codebook, but it was not used for several days. The new code, which had not yet been figured out, was used shortly before the attack began, but the important information had already been figured out.
Americans knew where, when, and in what strength the Japanese would arrive at Midway. Nimitz knew that the Japanese had ruined their advantage in number of ships by dividing their ships into four groups, all too separated to be able to support each other. Nimitz calculated that the aircraft on his three carriers, plus those on Midway Island, gave the U.S. rough parity with Yamamoto's four carriers, mainly because American carrier air groups were larger than Japanese ones. The Japanese, by contrast, remained almost totally unaware of their opponent's true strength and dispositions even after the battle began.
At about 09:00 on 3 June, a US Navy patrol plane spotted the Japanese Occupation Force to the west-southwest of Midway. Three hours later, the Americans found the Japanese transport group to the west. They attacked, but none of the bombs hit and no major damage resulted. Early the following morning the Japanese oil tanker "Akebono Maru" was hit by a torpedo from an attacking PBY. This was the only successful air-launched torpedo attack by the U.S. during the entire battle.
At 04:30 on 4 June, Nagumo launched his attack on Midway. It consisted of 36 dive bombers 36 torpedo bombers, escorted by 36 Mitsubishi Zero fighters. At the same time he launched a defensive combat air patrol. His eight search planes launched 30 minutes late.
Japanese reconnaissance plans were poor, with too few aircraft to cover the search areas. Yamamoto's decisions had now become a serious problem.
As Nagumo's bombers and fighters were taking off, 11 PBYs were leaving Midway to search for Japanese ships. They reported sighting two Japanese carriers with empty decks, which meant an air strike was on its way. American radar picked up the enemy at a distance of several miles, and planes were sent off to defend Midway. Bombers headed off to attack the Japanese carrier fleet. US fighters remained behind to defend Midway. At 06:20 Japanese carrier aircraft bombed and heavily damaged the U.S. base. Midway-based Marine fighter pilots, flying F4Fs and obsolescent F2As, intercepted the Japanese and had many losses. Most of the U.S. planes were shot down in the first few minutes; several were damaged, and only two could fly. In all, 3 F4Fs and 13 F2As were shot down. American anti-aircraft fire was accurate damaging many Japanese aircraft and destroying four.
Of the 108 Japanese aircraft involved in this attack, 11 were destroyed, 14 were heavily damaged, and 29 were damaged. The initial Japanese attack did not destroy Midway: American bombers could still use the airbase to refuel and attack the Japanese invasion force. Most of Midway's land-based defenses were intact. Another air attack to destroy Midway's defences would be necessary if troops were to be able to go ashore by 7 June.
American bombers based on Midway made several attacks on the Japanese carrier fleet. These included six Grumman Avengers from the s VT-8 (Midway was the first combat mission for the VT-8 airmen, and it was the first combat of the TBF), Marine Scout-Bombing Squadron 241 (VMSB-241), consisting of eleven SB2U-3s and sixteen SBDs, plus four USAAF B-26s, armed with torpedoes, and fifteen B-17s. The Japanese fought off these attacks. The US lost two fighters, five TBFs, two SB2Us, eight SBDs and two B-26s.
One B-26, after being seriously damaged by anti-aircraft fire, dove straight toward the "Akagi". The plane just missed the carrier's bridge, which could have killed Nagumo and his command staff. This may have made Nagumo decide to launch another attack on Midway, against Yamamoto's order to keep the reserve force for anti-ship operations.
Admiral Nagumo had kept half of his aircraft in reserve. These were two squadrons of dive bombers and torpedo bombers. At 07:15 Nagumo ordered his reserve planes to be re-armed with bombs for use against land targets. At 07:40 a scout plane from "Tone" saw a big American naval force to the east. It seems that Nagumo did not receive the report until 08:00. Nagumo reversed his order, but it took 40 minutes before "Tone"'s scout finally radioed that there was a carrier in the American force. This was one of the carriers from TF 16; the other carrier was not sighted.
Nagumo was now unsure of what to do. Rear Admiral Tamon Yamaguchi recommended that Nagumo strike with the forces at hand: 18 Aichi D3A dive bombers each on "Sōryū" and "Hiryū", and half the cover patrol aircraft. Nagumo's opportunity to hit the American ships, however, was now limited. The Midway strike force would be returning shortly and needed to land or crash into the sea. Because of the constant flight deck activity, the Japanese did not get their reserve planes on the flight deck for launch. The few aircraft that were ready were defensive Fighter aircraft. Launching aircraft would have required at least 30 to 45 minutes. By launching right away, Nagumo would be using some of his reserve without proper anti-ship weapons. He had just seen how easily unescorted American bombers had been shot down. Poor discipline caused many of the Japanese bombers to get rid of their bombs and attempt to fight intercepting F4Fs. Japanese carrier rules preferred full strikes, and since Nagumo did not know the American force included a carrier, his response followed Japanese rules. In addition, the arrival of another American air strike at 07:53 made Nagumo want to attack the island again. Nagumo decided to wait for his first strike force to land, then launch the reserve, which would by then be armed and ready.
Fletcher's carriers had launched their planes beginning at 07:00, so the aircraft that attacked Nagumo were already on their way. There was nothing Nagumo could do about it. This was the flaw with Yamamoto's plans.
The Americans had already launched their carrier aircraft against the Japanese. Admiral Fletcher, in command aboard "Yorktown", and having PBY sighting reports from the early morning, ordered an attack on the Japanese as soon as possible. He held "Yorktown" in reserve in case any other Japanese carriers were found. (Fletcher's directions to Spruance were sent by Nimitz, who had remained ashore.)
Spruance thought that even though the range was far, an attack could succeed. He gave the order to launch the attack at around 06:00. Fletcher, upon completing his own scouting flights, followed at 08:00 from "Yorktown".
Admiral Fletcher, commanding the "Yorktown" task force, along with Captain Elliott Buckmaster,"Yorktown"s commanding officer, and their staffs had experience in doing a full strike against an enemy force in the Coral Sea. But they could not pass on what they had learned to "Enterprise" and "Hornet" which were ordered to launch the first strike. Spruance ordered the aircraft to go to the target right away, since destroying enemy carriers was important to the safety of his ships. Spruance decided it was more important to attack as soon as possible, rather than coordinate the attack by aircraft of different types and speeds (fighters, bombers, and torpedo bombers). American squadrons went to the target in several different groups. He hoped that he would find Nagumo with his flight decks full of planes.