Hernandez, who spent the past seven seasons with the Philadelphia Phillies, must past a physical this week before the deal is announced. The person who spoke on condition anonymity because of the sensitivity of the talks. ESPN.com was first to report the agreement.
The Indians were in the market for a second baseman after not picking up veteran Jason Kipnis' contract option for 2020. The 29-year-old Hernandez became available when the Phillies chose not to offer him a contract. He batted .279 with 14 homers and 71 RBIs in 161 games last season.
Hernandez is a career .277 hitter. With Hernandez expected to sign, the Indians will likely keep Jose Ramirez at third base. The club considered sliding Ramirez over to the right side of the infield and pair him with All-Star shortstop Francisco Lindor, whose name continues to be bounced around in trade rumors.
Hernandez has played at least 127 games in each of the past five seasons.