McArthur was born in Erskine, Scotland. He learned to be a blacksmith and emigrated to the United States at age 23 and settled in Chicago. He was manager of the Chicago Iron Works and also served in the Chicago Highland Guards militia unit.
At the outbreak of the Civil War, he became colonel of an Illinois volunteer regiment. Shortly after, he was elevated to command the 1st Brigade in Charles F. Smith's Division and saw action at the Battle of Fort Donelson. He was promoted to brigadier general and led the 2nd Brigade, 2nd Division at the Battle of Shiloh, where he was wounded leading his brigade in a breakout of the Confederate encirclement on the first day of the battle. He led his brigade during the Siege of Corinth but was not present with his brigade at the battles of Iuka and Corinth. He commanded the 6th Division, XVII Corps during the siege of Vicksburg and commanded the post at Vicksburg after the Confederate surrender. He was in command of the 1st Division, XVI Corps and was involved in the pursuit of Sterling Price's Missouri Raid. His division was transferred with the rest of the corps to Tennessee, where his troops played a significant role in breaking the Confederate lines the second day of the battle of Nashville. He also led his division into action at the Battle of Fort Blakely.
After the war, he was involved in a number of occupations, but for varying reasons they were all unsuccessful. McArthur died in Chicago.