The decisions, which brought an immediate backlash from human rights group over the Saudi staging, were announced by FIFA President Gianni Infantino following a virtual extraordinary Congress.
The 2030 and 2034 World Cups each had only a single bid and both were confirmed by acclamation.
"We are bringing football to more countries and the number of teams has not diluted the quality. It actually enhanced the opportunity," Infantino said about the 2030 World Cup.
The combined proposal from Morocco, Spain and Portugal will see the 2030 World Cup take place across three continents and six nations, with Uruguay, Argentina and Paraguay hosting celebratory games to mark the tournament's centenary.
Uruguay held the first World Cup in 1930, while Argentina and Spain have also staged the tournament. Portugal, Paraguay and Morocco will all be first-time hosts.
Four years later, Saudi Arabia will become the second nation from the Middle East to host the quadrennial tournament, 12 years after neighbours Qatar staged the 2022 edition.
In 2023, FIFA said that the 2034 World Cup would be held in the Asia or Oceania region, with the Asian Football Confederation throwing their support behind the Saudi bid. Australia and Indonesia had also been in talks over a joint bid, but dropped out.
FIFA announced that both bids would be uncontested in 2023, leaving little room for doubt but the selection of Saudi Arabia has been increasingly controversial.
Amnesty International greeted the announcement by reiterating claims that the move would put lives at risk.
"FIFA's reckless decision to award the 2034 World Cup to Saudi Arabia without ensuring adequate human rights protections are in place will put many lives at risk," Steve Cockburn, Amnesty International's head of labour rights and sport, said in a statement issued by 21 bodies.
With AAP.