Bobby Ryan and Brian Gibbons also scored for the last-place Senators (26-43-6), who snapped a two-game losing streak
Alex Chiasson, Connor McDavid and Colby Cave replied for the Oilers (33-34-8), who have lost three of their last four.
The Senators struck first on the power play five minutes into the first period when Tkachuk banked the puck off of defender Adam Larsson and past goalie Mikko Koskinen from behind the net for his 18th goal of the season.
WATCH | Tkachuk scores twice in winner over Oilers:
Edmonton knotted the game four minutes later when Chiasson was sent in on a breakaway and beat Ottawa starter Craig Anderson with a backhand shot.
The Oilers tied the game three minutes into the second period on a give-and-go passing play with Leon Draisaitl setting up McDavid for his 38th goal. McDavid tied his career high of 108 points with the goal.
The Senators once again surged ahead seven-and-a-half minutes into the third after a terrific pass from Magnus Paajarvi set up a goal by Gibbons. But Edmonton came back just 66 seconds later on a goal by Cave to eventually send the game to extra time.
Both teams are off until Tuesday, when the Oilers host the Los Angeles Kings and the Senators return home to face the Buffalo Sabres.