Kroos opened the scoring in the seventh minute, with Rafinha sealing victory with a little under 15 minutes remaining, in a match the Bundesliga side controlled after a lively start by both sides.
It was an ideal start to the European campaign for the Germans, who also top their domestic league, but an early blow for Villarreal coach Juan Carlos Garrido, in a group also featuring Napoli and Manchester City.
"We can all rejoice after this match," said Heynckes, who coached Real Madrid to the 1998 trophy. "We could of course have wrapped this up earlier. But the Champions League is not the Bundesliga, it is a lot tougher. We have a great bunch of players who can be very proud of themselves."
His Villarreal counterpart Juan Carlos Garrido blamed the early goal on deciding the course of the game. "Coming so quickly it affected us physically, tactically and psychologically. We committed two errors and then they scored straight from it," complained Garrido.
"Bayern were more comfortable in possession and had too much space. We tried to get back into the game but then with the second goal there was no way back and we are left with the impression they were a lot better although I do not believe it was the case."
Kroos breaks deadlock
Bayern took an early lead through Kroos. The goal came about after Franck Ribery passed from the left side of the penalty area and his fellow midfielder sent a right-footed shot into the top right corner.
Nilmar had a shot blocked by Bayern defender Holger Badstuber before Kroos almost turned provider when his inswinging corner was met by Mario Gomez, but the striker put his header over the bar from the six-yard box.
Both sides were lively in attack, with Bastian Schweinsteiger's drilled right-footed shot from 35 yards parried by Diego Lopez in the Villarreal goal.
Then it was the turn of the hosts to threaten when Giuseppe Rossi's left-footed shot was tipped around the post by Manuel Neuer. Bayern, though, suffered a blow when Daniel van Buyten was forced off with injury in the 22nd minute to be replaced by Rafinha.
As the half went on there were less openings as the game settled down, but Villarreal almost drew level on the brink of half-time. Marcos Senna's free-kick from the left came to Mario, whose left-footed shot was repelled by the legs of Neuer.
The second half was only a minute old when the Bundesliga side almost doubled their lead, Nils Petersen's drilled shot from the centre of the area saved by Lopez with his legs.
The Spanish side were not creating anything of note and again it was the visitors who threatened. Once more it was Petersen whose right-footed shot was pushed wide by Lopez before Kroos' shot from close range hit the post.
And not surprisingly, all Bayern's pressure paid off when they scored a second goal 14 minutes from time, defender Rafinha drilling a shot home high into the centre of the goal. The goal did not prompt any more of a threat from Villarreal as Bayern eased to victory.