In June 1821, Craig was transferred to the 3rd Artillery Regiment, and in December 1823, received his brevet majority for ten years' faithful service in one grade. During the early 1820s, Craig supervised several lead mines in Missouri and in Illinois, and in May 1832, was promoted to the rank of major. At some point thereafter, he was assigned to the Ordnance Corps, and during the War with Mexico, served as Chief of Ordnance for General Taylor. For his services in the Battle of Monterrey, he was brevetted lieutenant colonel in September 1846. Following that battle, he and a small group of officers and men moved a group of twelve pounder cannon from the Monterrey battlefield to the town of Buena Vista, 67 miles away. This was accomplished between dusk and dawn on a rough road within a period of seven hours, despite the fact that the axle on the gun carriage supporting one of the cannon snapped and had to be replaced. Although General Santa Anna, the Mexican commander, had abruptly withdrawn from the battlefield before Craig and his men arrived, his action nevertheless won him and his staff a cordial mention in general orders. He also gave an excellent account of himself during the battles of Palo Alto and Resaca de la Palma. From 1848 until 1851, Craig served as an inspector of arsenals.