Josh Allen threw two touchdown passes and ran for a score, and the Buffalo Bills shook off a sloppy first three quarters to stay undefeated, beating the winless New Orleans Saints 31-19 on Sunday.