Garbage-time TD makes it 45-31