Malaga hands down. It has everything (the city that is), bars, restaurants, shopping, history,museums, architecture, a beach, a nice port area with restaurants and bars etc. and lots more besides. It is vibrant and a very nice place.
Granada is a university town. It is big and very busy, but quite honestly once you have seen the Alhambra and Albaicin and Sacromonte (famous view of the Alhambra), well that's more or less it. Others might think differently but while I enjoyed it, two days was more than adequate - for me!
The trains are not expensive if you want to go from Malaga to Granada, have a look at the Renfe (Spanish rail) website for prices, and obv cheaper if you book ahead.
I know you said you don't want to split your time, but in Feb we did Seville, Cordoba (fabulous fabulous), Granada and Malaga, two nights in each place. The trains were amazing, on time, spotlessly clean and not expensive. It is of course a personal thing and all that trekking around might not be suitable if you have kids in tow!
Just my ten cents.