Denise's thoughts: He seems to know how to get what he wants. He didn't get to do something(play a sport) because he didn't earn it(poor grades). His choices. In order to deal with his defiance, you'll need to drop the guilt he is piling on you.
I would start by taking the keys. He can have them back when he has decided to treat you respecfully for five full days. That means coming home on time, not swearing at you, etc. Tell him today can be day one, or he can start tomorrow. Tell him, and mean it, that you are sure he is capable of handling this restriction like a young adult and that you hope he is able to get back his keys as soon as possible. Then allow him to make his choices.
Asking our community of parents: This is really standard teen behavior, right? I know that my daughter has pulled out one or two of these instances and I feel she is a pretty well adjusted teen. While we can't control our teens, we can control what we give them. So, how have you handled this type of behavior before? Share your experiences in the comments area.