Terms of the deal were not released.
Dye hit .294 this season and led the Royals with 27 home runs and 119 RBIs. He also set a club record with 17 outfield assists.
"It feels great to know that I'll be staying here in Kansas City for at least a couple more years," the 25-year-old said. "I'm also happy that the Royals are showing they want to keep our team together."
The 25-year-old struggled through injuries in 1997 and 1998 and hit a combined .235 with just 12 homers and 45 RBIs in 135 games.
©1999 The Associated Press. All Rights Reserved. This material may not be published, broadcast, rewritten, or redistributed