Urodził się w miejscowości Nokomis w Saskatchewan, a wychował w miasteczku Battleford w tej samej prowincji. Po ukończeniu St Thomas College w 1940 zgłosił się na ochotnika do Royal Canadian Air Force. W styczniu 1942, w stopniu starszego sierżanta został przydzielony do 94 dywizjonu wyposażonego w myśliwce P-40 Kittyhawk. 23 marca 1942 odbył swój pierwszy lot bojowy podczas którego odniósł swoje pierwsze zwycięstwo strącając messerschmtta Bf 109. W maju otrzymał przydział do 260 dywizjonu a we wrześniu miał na swoim koncie 6 zestrzeleń i awansował na pierwszy stopień oficerski, podporucznika. 17 czerwca zestrzelił niemieckiego asa Otto Schultza (51 zwycięstw) a 3 września prawdopodobnie uszkodził Bf 109 Hansa-Joachima Marseille'a, trzy później najprawdopodobniej strącił innego asa Luftwaffe Güntera Steinhausena (40 zwycięstw). W sumie do maja 1943 zestrzelił 17 samolotów w powietrzu oraz kilka zniszczył na ziemi, według niemieckich źródeł zestrzelił 22 samoloty. W listopadzie 1943 został przydzielony do 417 dywizjonu następnie do 92 dywizjonu uzbrojonego w Spitfiry Mk VIII operującego we Włoszech. Podczas bitwy o Anzio zestrzelił 3 focke-wulfy Fw 190 oraz jednego Bf 109 z czego 3 samoloty jednego dnia. Na początku marca 1944 został wezwany do Wielkiej Brytanii gdzie służył w 274 dywizjonie. Wojnę zakończył w 127 dywizjonie, 3 maja odniósł wspólne zwycięstwo nad Ju 88. Po wojnie latał na odrzutowcach De Havilland Vampire, Canadair Sabre oraz Avro Canada CF-100 Canuck. James Francis przeszedł na emeryturę w 1972 w stopniu podpułkownika.