We present an $O(m \log^2(n))$ work, $O(\text{polylog}(n))$ depth parallel algorithm for minimum cut. This algorithm matches the work of a recent sequential algorithm by Gawrychowski, Mozes, and Weimann [ICALP'20, (2020), 57:1-57:15], and improves on the previously best known parallel algorithm by Geissmann and Gianinazzi [SPAA'18, (2018), pp. 1-11] which performs $O(m \log^4(n))$ work in $O(\text{polylog}(n))$ depth. Our algorithm makes use of three components that might be of independent interest. Firstly, we design a parallel data structure for dynamic trees that solves mixed batches of queries and weight updates in low depth. It generalizes and improves the work bounds of a previous data structure of Geissmann and Gianinazzi and is work efficient with respect to the best sequential algorithm. Secondly, we design a parallel algorithm for approximate minimum cut that improves on previous results by Karger and Motwani. We use this algorithm to give a work-efficient procedure to produce a tree packing, as in Karger's sequential algorithm for minimum cuts. Lastly, we design a work-efficient parallel algorithm for solving the minimum $2$-respecting cut problem.