Tarragona is on the main train line between Barcelona (1 hrs) and Alicante (2-3hrs), and also on the main line between Barcelona and Madrid (4 hrs). Note that it's best to buy train tickets a few days ahead during the high season to avoid getting stuck in one place. However, you always have the chance to take a stop-train, which is reasonable when coming from Barcelona (it takes basically the same time). Tarragona also has an airport close in Reus. Reus is mainly served by charter flights and Ryanair. Ryanair calls the destination Reus-Barcelona but it really is the airport of Tarragona.