Fairness is a key expectation in social interactions. Its violation leads to adverse reactions, including non-cooperation and dishonesty. The present study aimed to examine how (1) fair (unfair) treatment may drive cooperation (defection) and honesty (self-serving dishonesty), (2) dishonesty primes further moral disengagement and reduced cooperation, and (3) dishonesty weakens (substitutes) the effect of fairness on cooperation. The prisoner’s dilemma (Experiment 1 and 2) and die-rolling task (Experiment 2) were employed for capturing cooperation and dishonest behaviors, respectively. To manipulate perceived unfairness, participants were randomly assigned to play the prisoner’s dilemma game, where players either choose more cooperation (fair condition) or defection (unfair condition). Results of Experiment 1 (n = 102) suggested that participants perceive higher unfairness and behave less cooperatively when the other player primarily chooses defection. Results of Exp. 2 (n = 240) (a) confirmed Exp. 1 results, (b) showed that players in the unfair condition also show more self-serving dishonest behavior, and (c) that dishonest behavior weakens the effect of fairness on cooperation. Together, these results extended previous work by highlighting the self-serving lies when the opponent is fair trigger higher cooperation, presumably as a means to alleviate self-reflective moral emotions or restore justice.