Ribery, who will miss the Champions League final against Inter Milan in Madrid on Saturday due to suspension, was expected to leave Bayern at the end of the season, eager to play for a major club in Spain or England.
Real Madrid, Barcelona and Manchester United had reportedly shown interest.
The newspaper, citing club sources, said the new deal would be signed on Saturday when the 27-year-old Frenchman returns to Madrid from the French national training camp.
Owen and Rooney deliver for Manchester United
Call girl backs Ribery in prostitution scam
Barcelona take bus for Inter Milan semi-final
Robben brace puts Bayern Munich back on top
Real Madrid win thriller, go top of La Liga