I have a similar problem (although the other way around: I wanted Emacs to open Firefox, but it opened Chromium).
I'm using Ubuntu 12.04 (Precise Pangolin), but already had the problem with UbuntuĀ 11.10 (Oneiric Ocelot). The solution below applies to Linux, maybe macOS (?), and probably not Windows.
Setting browse-url-generic-program as suggested in other answers didn't work for me. Note also that my default browser is generally Firefox: that's what most other applications are using to open a URL, including xdg-open. So I was surprised that Emacs would do otherwise.
I finally figured out that Emacs is using the sensible-browser (1) script. Looking at that script, I noticed that:
BROWSER environment variable;gnome-www-browserIt so happens that, on my machine, BROWSER is not set, but gnome-www-browser is a script apparently put there by Chromium, and (naturally) running Chromium.
So, long story short: putting the following line
export BROWSER=firefox # Or any browser of your choice
in your .profile may help if Emacs is not using the correct browser.