The acquisition is part of a $150-billion military overhaul India has launched, drawing global arms makers into one of the world's most promising markets.
Under the deal, India will get 36 Rafale jets ready to go straight into service.
India's fighter aircraft fleet, comprising Russian, British and French planes, is down to 33 squadrons as against the air force's requirement of 45 to counter a "two-front collusive threat" from Pakistan and China.
The two countries will sign the final deal on Friday, the source, who did not wish to be named as he is not authorized to speak to the media, said.
French Defense Minister Jean-Yves Le Drian is arriving in New Delhi on Thursday, the source said, to sign the deal with his Indian counterpart, Manohar Parrikar.
French President Francois Hollande's office confirmed that Le Drian would visit India at the end of the week.
India, the world's biggest arms importer, had intended to buy 126 Rafale planes before several years' worth of talks with Dassault broke down and Modi and Hollande stepped in last year to agree on the smaller purchase.
The value of the deal, which had been repeatedly held up as the two sides haggled over financial terms, was not immediately available. Indian defense ministry officials have earlier said the value of the deal could be $8.5 billion to $9 billion.
The 90 planes not supplied via the original multi-role combat aircraft tender have meanwhile become the target of intense interest from other plane makers such as Lockheed Martin Corp.
S/SH 11