Earls has won 39 caps since making his debut in 2008, scoring 12 tries, and has made 91 appearances for Munster.
The 26-year-old, who can play on the wing or at outside centre, rejected offers from English and French clubs to continue his career in Ireland.
"I'm delighted to sign a new IRFU contract and to continue representing my province," Earls said.
"This Munster team has shown it has what it takes to compete with the best in Europe and I look forward to playing my role in bringing further success to both Munster and Ireland."
The IRFU has proved successful in convincing its international stars to continue playing in Ireland, with Paul O'Connell and Sean O'Brien recently agreeing new deals.
The only remaining doubt hangs over Top 14 target Jamie Heaslip, whose contract expires at the end of the season.
In contrast, the Welsh Rugby Union has witnessed an exodus of players to France, with the possibility of others such as Wales captain Sam Warburton and prop Adam Jones following in their footsteps.
"Keith is a proven finisher and has shown guile and determination throughout his rugby career for both Munster and Ireland," IRFU chief executive Philip Browne said.
- Sports & Recreation