Allen barged into the endzone and found Joshua Palmer for a 43-yard touchdown, before Dawson Knox scored early in the second quarter.
The Lions replied with Jared Goff finding Jahmyr Gibbs, who became the NFL’s highest-paid running back in the off-season, for an 11-yard touchdown catch.
But Dalton Kincaid stretched Buffalo’s lead and the Bills remained comfortable throughout the second half.
Detroit, who beat the New Orleans Saints in overtime last week, cut the deficit with two touchdowns by Amon-Ra St Brown and another from Sam LaPorta.
But Allen, the NFL’s Most Valuable Player for the 2024 season, and James Cook scored for the Bills to ensure the Lions only got within 10 points.
Before the game in Buffalo, which is on the US border with Canada, both the American and Canadian national anthems were played.
The latter was sung by Canadian band Barenaked Ladies as the Bills chose to honour their Canadian fans amid rising tensions between the two countries.
