Other people have also had this issue, so there is now something called a Private VLAN, where you can only ‘see’ one uplink port, which is usually the gateway. The member ports can not ‘see’ each other. This achieves exactly what you are wanting.
It is supported by several manufacturers equipment, you just need to see if it is supported on yours 🙂
For configuring this on a Cisco 3750, please have a look at the following link http://www.cisco.com/en/US/docs/switches/lan/catalyst3750/software/release/12.2_25_see/configuration/guide/swpvlan.html
Hope this helps.