Using Virtual Hosts will definitely do want you want. You want 'Name-based' Virtual Hosts, because you've only a single IP address. It's very straightforward. All you do is:
NameVirtualHost *
<VirtualHost *>
ServerName
www.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *>
ServerName
www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
This example is from the documentation on the subject which is
here.