I want this too. It's possible to make it happen, but it's not easy like basic protection.
The protected branch behavior has two components to it. The primary protection is to prevent force-push to a branch, usually master. That one is a no-brainer.
The secondary behavior (AFAIK) is to enforce exactly what you are looking for, where you have to push to a branch before merging to master. The only way to make that happen is to integrate tests - if your branch passes tests, it can be merged. In my "copious free time" I plan to build a test hook that always reports "OK" so that I can enable that behavior on all of my repos, and it should end up as two or three clicks to set it up.