The transfer, which Goal reported in December was in the process of being finalized, also includes a 40 percent sell-on clause, which will ensure FC Dallas receives additional compensation if Bayern goes on to sell Richards.
The two clubs reached an agreement on a transfer after lengthy negotiations to improve the clause in Richards' original loan deal, which gave Bayern an option to buy the 18-year-old.
Richards joined Bayern's U-19 team on loan last summer but played for Bayern's first team in the International Champions Cup.
Richards impressed then, earning playing time against the likes of Paris Saint-Germain and Juventus in friendlies. He eventually joined Bayern's U-19s and established himself as a regular starter, making a strong impression with his ability to win aerial duels and his slick passing.
A former member of the Houston Texans youth academy, Richards joined FC Dallas' academy a year ago, and earned a first-team contract in the spring.
He established himself on the U.S. Under-20 national team and started in the semifinals and finals of the team's recent Concacaf Championship title triumph, including a starring role in the USA's 2-0 victory against Mexico in the final.
A native of Alabama, Richards is the second player with MLS ties to sign with Bayern in 2018, with the club having completed the transfer of Canadian star and former Vancouver Whitecaps winger Alphonso Davies in July.
"When they told me there was an option to buy I was like, 'Wow, I hope I can play well enough for them to even consider buying me,’" Richards told Goal in November. "Now it's becoming a reality that they have a good chance of being able to buy me."
Richards is the latest American teenager to make the move to Germany, joining U.S. Under-20 teammates Sebastian Soto and Chris Gloster (Hannover 96), Alex Mendez (SC Freiburg) and Brady Scott (FC Cologne), as well as USMNT midfielder Tyler Adams, who recently completed his transfer to RB Leipzig, and Josh Sargent, who has broken through with Werder Bremen's first team.