The contract carries an average annual value of $3.1 million.
Yamamoto, 23, is coming off a career-best season where he produced 20 goals and 21 assists in 81 games. He added another seven points in 14 games during Edmonton's run to the Western Conference Final.
The Oilers selected Yamamoto 22nd overall in 2017, he has since totalled 93 points for the club in 186 games.
The Spokane, Wash., native will remain an RFA once his current deal expires in 2024.
After signing Yamamoto, Edmonton is $6.8 million over the cap with 21 players on their projected roster, according to PuckPedia.