We develop Wigner's approach to a dynamical transition state theory in phase space in both the classical and quantum mechanical settings. The key to our development is the construction of a normal form for describing the dynamics in the neighbourhood of a specific type of saddle point that governs the evolution from reactants to products in high dimensional systems. In the classical case this is the standard Poincaré-Birkhoff normal form. In the quantum case we develop a normal form based on the Weyl calculus and an explicit algorithm for computing this quantum normal form. The classical normal form allows us to discover and compute the phase space structures that govern classical reaction dynamics. From this knowledge we are able to provide a direct construction of an energy dependent dividing surface in phase space having the properties that trajectories do not locally 're-cross' the surface and the directional flux across the surface is minimal. Using this, we are able to give a formula for the directional flux through the dividing surface that goes beyond the harmonic approximation. We relate this construction to the flux-flux autocorrelation function which is a standard ingredient in the expression for the reaction rate in the chemistry community. We also give a classical mechanical interpretation of the activated complex as a normally hyperbolic invariant manifold (NHIM), and further describe the structure of the NHIM. The quantum normal form provides us with an efficient algorithm to compute quantum reaction rates and we relate this algorithm to the quantum version of the flux-flux autocorrelation function formalism. The significance of the classical phase space structures for the quantum mechanics of reactions is elucidated by studying the phase space distribution of scattering states. The quantum normal form also provides an efficient way of computing Gamov-Siegert resonances. We relate these resonances to the lifetimes of the quantum activated complex. We consider several one, two and three degree-of-freedom systems and show explicitly how calculations of the above quantities can be carried out. Our theoretical framework is valid for Hamiltonian systems with an arbitrary number of degrees of freedom and we demonstrate that in several situations it gives rise to algorithms that are computationally more efficient than existing methods.