This requires you to modify your masterpage just a bit. It's minimal.

In your masterpage, find id="s4-ribbonrow" and add this to it:

style="display:none;"

Then add this after where that div ends

<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="FullMask">
<script type="text/javascript">
document.getElementById("s4-ribbonrow").style.display = "block";
</script>
</Sharepoint:SPSecurityTrimmedControl>

Your result should be something like this:

<div id="s4-ribbonrow" class="s4-pr s4-ribbonrowhidetitle" style="display:none;">
...
</div>
<Sharepoint:SPSecurityTrimmedControl runat="server" Permissions="FullMask">
<script type="text/javascript">
document.getElementById("s4-ribbonrow").style.display = "block";
</script>
</Sharepoint:SPSecurityTrimmedControl>


This will only allow users with Full Control to see the Ribbon.

Original:

sharepoint.stackexchange.com