Relebohile Mofokeng and Patrick Maswanganyi were both on target in the second half at the Marbella Sports Center.
Pirates had lost 2-0 to Bolton Wanderers in their first game in Spain and then drew 1-1 with Pafos FC and 0-0 with Las Palmas.
The Buccaneers were certainly more comfortable in the opening exchanges of this tie and were close to opening the scoring in the 19th minute, but Tshepang Moremi was denied by Granada goalkeeper Luca Zidane, before Mbekezeli Mbokazi fired wide after 24 minutes following some sustained Bucs pressure.
Zidane then easily kept out a Boitumelo Radiopane header and was called on again to stop Mbekezeli Mbokazi from finding the back of the net after racing through one-on-one with the young stopper.
Granada were largely kept at bay and enjoyed their best chance in the 44th minute as Pedro Aleman found himself with time to shoot on the edge of the area, but he failed to beat Sipho Chaine.
Pirates made 10 changes at the start of the second half with only Chaine keeping his place - although he made way for Siyabonga Dladla just after the hour mark.
Granada's replacement goalkeeper Ander Astralaga was, meanwhile, called into action to keep out a good Relebohile Mofokeng effort after 56 minutes.
Lucas Boye made an impact after his introduction as he put two good headers just wide of the Pirates goal from successive set pieces before smashing a volley off the crossbar, in the 78th minute.
Pirates took full advantage of that let off and duly scored through Maswanganyi just two minutes later as he slotted home from close range.
Mofokeng was on hand to seal all three points, in the final minutes of the match, with a composed finish after a well worked attack to break through a tiring Granada defence.