Autonomous Driving (AD) has witnessed substantial development during the past few years. One of the most critical challenges is the safety evaluation of autonomous vehicles (AVs), which is extremely expensive and inefficient since it usually requires hundreds of millions of driving miles due to the high dimensional nature of driving scenarios and the rareness of safety-critical scenarios in the real world. In this paper, we aim to generate high-quality safety-critical scenarios which are both realistic and safety-critical for AV evaluation efficiently. In particular, we propose a guided diffusion-based generation framework DiffScene, leveraging the powerful generation capability of diffusion models. Concretely, we design several adversarial optimization processes to guide the diffusion generation under certain adversarial budgets. We conduct extensive experiments to verify that compared with SOTA baselines, scenarios generated by DiffScene are (1) more safety-critical under 3 metrics, (2) more realistic under 5 distance functions, and (3) more transferable across different AD algorithms. In addition, we demonstrate that DiffScene enables higher AD performance by training with its generated scenarios.