The 28-year-old was scheduled to become an unrestricted free agent at the end of the season. The Oilers announced the extension on Twitter.
''I'm happy I'm going to be around for the next three years to grow and improve with this team ... I love the city so far,'' Talbot said on the team's Twitter feed.
Talbot has an 8-13-3 record this season with a .914 save percentage and 2.58 goals-against average.
The 6-foot-3 193-pound goalie played parts of two seasons with the New York Rangers before being dealt to Edmonton last June.
The 18-23-5 Oilers are last in the Western Conference standings with 41 points.