Rubén Castro ha due fratelli calciatori: Guillermo (nato nel 1973) e Alejandro (nato nel 1974). Tutti e tre hanno giocato nel Las Palmas.
Nella stagione 2000-2001 Rubén ha giocato insieme ad Alejandro, mentre nella stagione 2003-2004 ha giocato insieme a Guillermo.
Carriera
Club
Nel 2000 Castro firma con il Las Palmas. Dopo una stagione con la squadra B, il 4 marzo 2001 esordisce in Primera División con la prima squadra, sotto la guida di Sergije Krešić, in una partita giocata in casa contro l'Athletic Bilbao e terminata a reti inviolate. Conclude la stagione con 3 presenze da titolare.
Nella stagione 2001-2002 scende in campo 29 volte e segna 5 gol. Il 3 ottobre 2010, in occasione della 6ª giornata di campionato contro il Real Madrid, entra in campo al 64' al posto di Orlando Suárez quando il risultato è sul 2-2 e con una doppietta regala la vittoria alla sua squadra. Il 4 novembre realizza un'altra doppietta, grazie alla quale il Las Palmas vince ancora per 4-2 contro il Celta Vigo. Il 15 dicembre segna l'ultimo gol stagionale, con cui pareggia nel finale la partita contro l'Osasuna.
Il Las Palmas conclude la stagione al terzultimo posto e retrocede in Segunda División. Castro, sotto la guida di Jesús Uribesalgo, gioca 40 partite e realizza nove reti. Il 12 febbraio realizza al 90' il gol della vittoria in casa del Betis Siviglia. Conclude la stagione con 24 presenze e 3 gol. La squadra dell'isola di Gran Canaria va vicina alla promozione, arrivando al quinto posto.
Nella stagione 2003-2004 Castro vince il Trofeo Pichichi con 22 gol in 40 partite. Le sue reti non bastano a salvare il Las Palmas, che termina il campionato al terzultimo posto e retrocede in Segunda División B.
Castro lascia il club della sua città e viene acquistato dal Deportivo. La società della città di La Coruña lo cede subito in prestito all'Albacete Balompié, in Primera División. Castro esordisce il 29 agosto 2004, alla prima giornata di campionato contro il Siviglia. Entra in campo nel secondo tempo al posto di Francisco Peña Romero e l'Albacete perde 1-0. Segna il primo gol il 19 settembre alla Romareda, nella partita di campionato persa 4-3 contro il Real Saragozza. In totale gioca 22 partite e segna 3 gol, ma solo in 5 occasioni resta in campo per 90 minuti.
L'Albacete conclude il campionato all'ultimo posto e Castro torna al Deportivo. Esordisce il 28 agosto 2005 nella partita giocata in casa del Maiorca e persa 1-0. Segna il primo gol il 15 ottobre nel finale della partita contro il Barcellona, portando il risultato sul definitivo 3-3. Conclude la stagione con 24 presenze, giocando 90' solo in due occasioni, e segna tre reti.
Nella prima parte della stagione 2006-2007 passa in prestito al Racing Santander, in massima serie. Con la squadra della Cantabria gioca solo una partita, il 10 settembre 2006 in casa del Getafe, entrando in campo al 68' al posto di Javier Balboa. In inverno passa al Gimnàstic. Con la squadra di Tarragona colleziona 20 presenze e quattro reti. La squadra catalana termina il campionato all'ultimo posto e retrocede in Segunda División.
Castro torna al Deportivo e nella stagione 2007-2008 gioca 7 partite, partendo da titolare due volte, e segna un gol, il 2 dicembre 2007 in una partita persa 1-2 contro l'Osasuna.
Nella stagione 2007-2008 gioca in prestito nell'Huesca, in Segunda División[1]. Nella stagione successiva viene ceduto in prestito al Rayo Vallecano, sempre nella seconda serie del campionato spagnolo.
Real Betis
Nel 2010 passa al Betis Siviglia e con 27 gol in 42 partite contribuisce alla promozione in massima serie degli andalusi.
Nella sua prima stagione di Liga con la casacca del Betis, 2011-12, si mette in luce come uno degli elementi di maggior spicco e segna 16 gol (nessuno su rigore). Anche la successiva stagione si rivela molto redditizia per l'attaccante: al termine del campionato è il cannoniere della squadra con 18 segnature.