Nació en Ciudad Lerdo, Durango, el 15 de agosto de 1887, siendo sus padres José Francisco Castro y María de Jesús Rivera. Realizó los primeros estudios en escuelas de su pueblo natal y de Durango, pero las condiciones económicas de su familia lo forzaron a realizar diversos trabajos a partir de 1902. Hacia 1910 era conductor de tranvías urbanos. Fue maderista desde los albores del movimiento. Junto con Orestes Pereyra, Gregorio García y Antonio Palacios preparó la insurrección contra Porfirio Díaz en la Comarca Lagunera.
Maderismo
El 20 de noviembre de 1910 secundó a Mariano López Ortiz, vicepresidente del Club Antirreeleccionista de Torreón, y con 100 hombres a sus órdenes se apoderó de la plaza de Gómez Palacio, aunque poco después fue desalojado por el Ejército Federal. Después de varios hechos de armas logró tomar la población de Indé, Durango, con la ayuda del jefe maderista Maclovio Herrera. Continuó reclutando gente y tomó Nazas, Mapimí, Bermejillo y Ciudad Lerdo, llegando a ocupar Torreón y Gómez Palacio, defendidas por el general Emiliano Lojero. Su importancia en el movimiento armado contra Porfirio Díaz fue tal que ascendió al grado de coronel y Francisco I. Madero lo nombró jefe del movimiento revolucionario en La Laguna. Posteriormente lo hizo inspector de fuerzas rurales provenientes del Ejército Libertador en la misma región. Con tal puesto defendió Coahuila de los ataques de las tropas orozquistas encabezadas por Benjamín Argumedo en 1912. Combatió en la Decena Trágica a los alzados de la Ciudadela; a la caída de Madero se sublevó con sus fuerzas, acuarteladas en Tlalnepantla, desde donde se dirigió al norte para unirse a las incipientes fuerzas carrancistas. estupro.
Constitucionalismo
Se le comisionó para que comisionara en Tamaulipas y San Luis Potosí bajo las órdenes de Lucio Blanco, aunque pronto entró en conflicto con éste. Castro organizó a sus fuerzas en una unidad llamada Brigada 21, compuesta por dos regimientos, los "Leales de Tlalnepantla", bajo el mando del mayor Juan Jiménez Méndez y los "Dragones de Tamaulipas", del mayor Blas Corral Martínez. Por aclamación de su tropa ascendió a general brigadier, grado que le reconoció Venustiano Carranza hasta marzo de 1914. De las filas de Lucio Blanco pasó a las órdenes de Pablo González Garza; su brigada pasó a ser la 8 División del Cuerpo de Ejército del Noroeste. Participó en el ataque a Ciudad Victoria, y junto con Francisco Murguía y al mando de 4 mil hombres atacó el puerto de Tampico, cuando las fuerzas gonzalistas tomaron ese puerto. Después de la ocupación de la Ciudad de México por los constitucionalistas, fue nombrado comandante militar y gobernador de Chiapas. Su primer acto de gobierno fue la expedición de un decreto mediante el cual se liberaba a peones y sirvientes de las deudas. Hizo una gran campaña contra los elementos reaccionarios encabezados por finqueros del Soconusco, como Tiburcio Fernández Ruiz, en la llamada Rebelión mapachista.
En junio de 1915 desempeñó el mismo cargo en Oaxaca, logrando derrotar a los rebeldes soberanistas, encabezados por José Inés Dávila y Guillermo Meixueiro. El 2 de mayo de 1917, Carranza lo nombró secretario de Guerra y Marina; a partir de abril de 1918 volvió al mando directo de fuerzas, realizando campañas contra rebeldes como Félix Díaz y Francisco Villa, logrando su ascenso a general de división con antigüedad de noviembre de 1919.
Posrevolución
Poco después de 1920 fue gobernador de Durango. De 1924 a 1928 fungió como senador de la república y sostuvo el principio de no reelección, por lo que rompió con Álvaro Obregón, retirándose a la vida privada.
Regresó a la vida política en el gobierno de Lázaro Cárdenas del Río, en el que ocupó el cargo de secretario de la defensa nacional.
Murió en Tetepan, Distrito Federal, el 22 de marzo de 1953. Fue sepultado en Gómez Palacio, Durango.