Me pasaba porque estaba usando un composer.phar de otro proyecto y no parecía estar funcionando bien (seguramente porque estaba creado con una versión de PHP distinta).
Descargándolo de nuevo con esta instrucción funcionó correctamente:
php -r "readfile('https://getcomposer.org/installer');" | php