The Japanese struck a goal in either half alongside an effort by Kevin Grosskreutz to see the home side remain behind the Bavarian giants only on goal difference.
Despite Fabian Johnson's consolation goal, the visitors could have no complaints about the result as they were well and truly beaten by a Dortmund outfit who picked up their third straight league win.
The hosts wasted little time in attacking Hoffenheim’s goal, with Robert Lewandowski seeing an early shot blocked before an immense save by Starke denied his header a few minutes later.
The Pole had become embroiled in something of a personal duel with Starke in the opening exchanges, and the Hoffenheim keeper came up with two further stops to deny the forward an opening goal.
However, Starke wasted much of his good work in the 16th minute, when his poor distribution from the back put his team-mates under pressure, allowing Kagawa to pounce and slot the home side in front.
The Japanese picked out Sven Bender two minutes later, but Starke began to atone for his earlier error by stopping the midfielder’s shot with another fine save.
However, Dortmund were not to be denied a second, and got it after a neat piece of interplay between Kagawa and Blaszczykowski out wide carved the visitors apart and left Grosskreutz unmarked for a simple finish just after the half hour mark.
The visitors registered their only chance of the half after 35 minutes when Ryan Babel’s driving run took him deep into the Dortmund box, but his shot was parried by Roman Weidenfeller.
It would not get much better for Hoffenheim after the interval, and Kagawa put the result beyond doubt in the 56th minute after a clever back-heel by Grosskreutz left him free to slot into an empty net.
At the other end of the pitch, Weidenfeller was again alert to deny Babel with a fine reflex save after the Dutchman had stolen in at the far post.
However, Hoffenheim were able to pull one back shortly after the hour mark through Johnson, who volleyed home after a feed by Edson Braafheid to lend some creditability to the scoreline.
The goal proved to be nothing more than an aberration, and Dortmund were at it again a few minutes later, but Starke once more proved to be equal to Lewandowski’s attempt to breach his goal.
Further chances were foiled by Starke, but the damage had already been done as the hosts ran out comfortable winners.
The result sees Dortmund remain deadlocked with Bayern Munich on 40 points at the top of the Bundesliga, although the Bavarian side's concurrent 2-0 win over Wolfsburg sees them maintain a goal differential advantage. Hoffenheim meanwhile remain in eigth place with 23 points.