This study presents a novel approach for generating empathetic responses in dialogue through conditional adversarial learning. The method involves using a BERT-MLP model to detect the user's emotions and the system’s dialogue act, and then utilizing conditional adversarial learning to construct a generator based on the user’s emotions, dialogue history, and dialogue act. A sympathy discriminator is trained to distinguish between empathetic and non-empathetic responses, and the corresponding words are filled in the generated template based on the semantic slots. To evaluate the proposed approach, the study collected 1,740 conversations with empathetic responses, which were labeled with the user’s emotion, medical history, and system dialogue act. The experimental results based on 5-fold cross-validation showed that the proposed method of applying conditional adversarial learning achieved the best BLEU score (41.3%), the best BERTSCORE (−5.84 for the evaluation on question sentences and generated sentences; −4.15 for the evaluation on answer sentences and generated sentences) and emotion reflection rate (86.4%), which outperformed the Transformer- and conditional Transformer-based methods. This study also conducted subjective evaluations, achieving 77.55%, 79.47%, and 75.87% accuracy in the scores of relevance, grammatical correctness, and empathy, respectively. In significance test and Cohen’s KAPA score of relevance, grammatical correctness and empathy, the proposed method was better than the Transformer- and conditional Transformer-based methods. In addition, in the consulting performance evaluation, the experimental results showed that the proposed method achieved the best empathy score of 3.8 (average KAPA score was 0.627), which was better than the other methods.