A joint venture between Lockheed Martin and Boeing has had a monopoly on those launches since 2006.
The approval from the US military followed two years of intensive reviews by the US Air Force.
“SpaceX’s emergence as a viable commercial launch provider provides the opportunity to compete launch services for the first time in almost a decade,” Air Force Secretary Deborah James said in a statement.
Mr Musk said the decision was “an important step toward bringing competition to national security space launch.”
In June, the Air Force expects to open bidding for the contract to launch GPS satellites built by Lockheed and it will be SpaceX’s first opportunity to compete for military work.
The US military has been relying on the Atlas 5 rocket, which uses Russian built engines, to power payloads into space.
But the military only has until 2019 to use that system, as US lawmakers have banned the use of Russian engines for launches that concern national security.
The certification of the SpaceX Falcon 9 rocket will give the military an alternative rocket ahead of the ban.