Cardiff bring in Guerra from Real Valladolid
Guerra had long been reported as a target for the club, and the signing was confirmed on Wednesday after completing a medical, with his contract to begin officially on July 1.
The 32-year-old spent four years at the Spanish club, the last two of which were in the top flight, and scored 72 league goals after joining from Levante.
His 15 goals this campaign could not save Valladolid from relegation back to Segunda Division, and he joins a Cardiff side who themselves dropped back into the Championship after just one year in the Premier League.
"I am very thankful for the warm welcome I have received here at Cardiff City and am very excited for my new challenge in Wales," Guerra told the club's official website.
"Hopefully I can keep up the level that I have been playing at in Spain for the last few seasons and that it will be a successful time for me in Cardiff, with both the club and the supporters."