I found the easiest way (although I'd like to have 1-2 steps instead of 3):
1. git reset --soft HEAD~1
2. git checkout -b new-branch-name
3. git commit -C ORIG_HEAD
ORIG_HEAD
forces git to use the last commit's message (even if it's reset by git reset --soft HEAD~1
)