Collins John wurde im liberianischen Zwandru geboren und kam aufgrund des Bürgerkrieges in Liberia in die Niederlande. Er begann seine Karriere in der Mannschaft von DES Nijverdal. 2002 wurde John als 17-Jähriger in die erste Mannschaft von Twente Enschede geholt. Dort erzielte er elf Tore.
Im Januar 2004 verließ John seine Heimat Niederlande in Richtung England zum FC Fulham für £600.000 Ablöse. Dort spielte er sein Debüt am 20. März 2004 gegen den FC Chelsea. In der Saison 2005/2006 gehörte er zu den Toptorschützen der Mannschaft. In der darauffolgenden Saison verlor er seinen Stammplatz und stand nur noch als Einwechselspieler auf dem Platz. Im September 2007 wurde er für drei Monate an Leicester City ausgeliehen. Anschließend wurde er an den FC Watford ausgeliehen. Bei Leicester hatte er noch einen Stammplatz inne, bei Watford aber war John nicht so fit und kam lediglich bei fünf Spielen zum Einsatz.
Nachdem Watford ihn nicht längerfristig binden wollte, wurde John zum NEC Nijmegen ausgeliehen. Auch hier hatte er mit konditionellen Problemen zu kämpfen.
Zur Saison 2009/10 unterschrieb er einen Zweijahresvertrag beim belgischen ErstligistenKSV Roeselare, der am 14. Dezember 2009 „aus familiären Gründen“ aufgelöst wurde.[1] Vorher wurde Collins aus disziplinarischen Gründen in die Reserve des Vereins versetzt.
Am 29. Januar 2010 spielte John beim nordamerikanischen MLS-Franchise Chicago Fire vor.[2] Am 11. März unterschrieb er einen Vertrag.[3]