I use Cursive for this. It does take a bit of care to set up. You need to make sure that src/jvm is marked as a source folder, and src/clj and src/resources are marked as resource folders.
When you create the run configuration, don't use Clojure REPL, just use a normal Application and configure it with a Main Class of clojure.main and use the project classpath. Then you run that config in Debug and you can set breakpoints as needed (in both Clojure and Java source).