Controllers at Naval Air Station North Island in Coronado, near San Diego, failed to notify the pilot of a Coast Guard C-130 plane that four Marine helicopters were in the area. The Marine flyers were also unaware of the Coast Guard plane's presence.
The report said there is no single reason or person to blame for. It made a series of recommendations to improve safety in the largely unregulated airspace.
The collision occurred in a so-called military warning area - airspace that is not controlled by the Federal Aviation Administration. Pilots are on their own to watch for others in the area.
The collision "was the product of a tragic confluence of events, missed opportunities and procedure/policy issues where most aircraft fly under a 'see-and-avoid' regime," the report said.
The report said the Marine pilots gave the Coast Guard crew "little opportunity" to see them, contributing to the crash. The Marine Cobra helicopter that crashed had not turned on its anti-collision light and transponder.
The Coast Guard C-130 plane was on a mission to rescue a missing boater near San Clemente Island when it crashed into the Marine helicopter about 50 miles off the coast. The Marines were on a training exercise.
"At this point, we're here not to fix blame but to fix the problems," said Lt. Cmdr. Rich Foster, a Coast Guard spokesman.