The long-term contract sees 1.5 billion euros' worth of battery cells coming from a new CATL plant in Erfurt, in the eastern German state of Thuringia, Markus Duesmann said in Munich. The rest will come from China.
A contract for the construction of the new plant is due to be signed on Monday during a visit to Germany by China's Premier Li Keqiang.
There have been warnings that Europe's lack of its own production capabilities for the cells that power electric cars could leave its car industry exposed and too reliant on others.
Tesla founder Elon Musk has spoken about locating a battery 'Gigafactory' near the Franco-German border, in the vicinity of its Grohmann Engineering division.
Duesmann said BMW had invested in some of the costs for the CATL factory in Erfurt, but declined to say how much.
He said BMW was investing in cell research but a decision on whether to produce battery cells itself had not been made.
"I don't rule it out," he said.
BMW is "very comfortable" with two suppliers of battery cells at the moment, but could add a third and is in talks with eight manufacturers, he added.
He said he would welcome it if other carmakers also wanted to invest in the Erfurt plant.
However, BMW has no plans to jointly purchase cells with rival Daimler, he said, because of the competitive advantage that can be gained if batteries give greater range or can be charged faster.
Daimler said its strategy was to buy components where they are produced. "We welcome the decision of CATL to manufacture in Germany and are in talks regarding this," a spokesman said.
BMW is sourcing raw materials for the cells itself to pass to the battery makers, in particular cobalt, and is currently negotiating long-term contracts.
Duesmann said BMW would only conclude contracts where inhuman conditions and child labor were ruled out. It said it was not sourcing cobalt from mines in Congo.
Reporting by Irene Preisinger.