Free-agent forward Danny Granger has reached agreement on a two-year, $4.2 million contract with the Miami Heat, league sources told Yahoo Sports on Monday.

Granger will take the Heat's biannual exception of $2.1 million and hold a player option on the second year of the contract.

Granger was willing to take significantly less than his market value for the chance to play with LeBron James in Miami. Heat president Pat Riley secured Granger and free-agent forward Josh McRoberts on Monday. Riley is expected to meet with James soon to discuss his future with the franchise.

Granger comes with a strong reputation as a high-character player in the locker room and a versatile scorer who the Heat hope can play a part in upgrading the roster and convincing James to stay the course with a new deal.