The Lions rested many of their starters for the game and Moore went 17-for-28 for 172 yards and two touchdowns as the team went 3-1 in the preseason. Dan Orlovsky started under center and in just over one quarter he led the team to a field goal, going 7-for-11 for 39 yards.
The Lions open up their season at home against the Giants on Sept. 8.
Buffalo played many of its starters to begin the game, and saw the plan backfire on them as first-round draft pick Sammy Watkins left the game on the team's second drive.
The rookie wide receiver, who had just three catches for 21 yards in the preseason, suffered an injury to his ribs after taking a hit and went to the bench. He missed the team's last game against the Buccaneers after suffering a rib injury in the second preseason game against Pittsburgh.
E.J. Manuel started under center and was just 3-for-7 for 56 yards for the Bills, who went 1-4 on the preseason.
Buffalo begins the regular season on the road at Chicago on Sept. 7.
Neither team scored in the first quarter, but Detroit got on the board less than a minute into the second on a 53-yard field goal from Nate Freese.
Moore had a 1-yard scoring toss to Jeremy Ross with less than six minutes to play in the first half, and added a 25-yard touchdown pass to Corey Fuller near the end of the half for a 17-0 lead.
Freese hit another 53-yard field goal in the third quarter, and added a 28- yard field goal in the fourth to account for the final score.