Instead of banning, just remove the post (unless it's a recurring issue).
Many years ago, I was an admin on an IRC (Internet Relay Chat) server that had (on average) tens of thousands of users logged on at any given time, globally.
With the exception of private "chat rooms", politics, profanity, sexual discussion (including innuendos) and religion were not allowed in public rooms.
Every so often, something would trigger a religious or political free-for-all, even amongst the best, most level headed members and it would take a while to cool down the room between the moderators and admins.
Typically, we'd just do a "kick" from the room with a timeout (usually a half hour) on those who were engaged in the argument.
Repeat offenders would earn a "ban" if they persisted after repeated warnings and if they challenged us, a "kill" from the server was earned.
The only thing that rivaled political or religious arguments, was the heated arguments between the international Football (Soccer for the yanks) crowd...