Compete to get a girl for a sweetheart (3)
I believe the answer is:
vie
'compete' is the definition.
(synonyms)
'a girl for a sweetheart' is the wordplay.
'a girl' becomes 'Vi' (short for Violet).
'for' means one lot of letters go next to another.
'a sweetheart' becomes 'e' (the heart/centre of 'sweet').
'vi'+'e'='VIE'
'to get' is the link.
(Other definitions for vie that I've seen before include "Compete (with others)" , "contest" , "Compete for something" , "I've got to contend" , "Engage in rivalry" .)