Bosons obey Heisenberg's Uncertainity Principle but do not Pauli's Exclusion Principle. That's why in Bose Condensation we get a large amount of particles in a single state i.e. ground state at T=0K. But why the ground state energy is zero ? And in this case is Heisenberg valid ?
2 Answers
Bose-Einstein Condensates (BEC) do not violate the Heisenberg's uncertainty principle.
Traps
Usually, BECs are not in free space, but spatially confined by some potential $V(r)$.
The total Hamiltonian is $H = p^2/2m + V(r)$ so your "$E=0 \rightarrow p=0$" reasoning does not hold.
This potential $V$ is usually approximated as harmonic oscillator, $V \propto 1/2 \, m \sum_i \omega_i^2 x_i^2$, which will have a zero-point energy $E_0 = \hbar/2\, (\omega_x+\omega_y + \omega_z) \neq 0$.
So once again, you do not have $E=0$ as per your reasoning.
A BEC in a trap thus has some spatial extent $\Delta x$. It is not an eigenstate of the kinetic energy, and thus also has some spread in momentum $\Delta p$.
Free space
A BEC in free space, $V=0$, would have a flat wavefunction spread uniformly over all space. Since $V=0$, the wavefunction is an eigvenstate of the kinetic operator, $\psi = e^{\mathrm{i}qx} = 1$ where $q=0$, i.e. it's the lowest plane wave. The momentum $p = \hbar q$ is now known exactly.
But while $\Delta p = 0$, the spatial extent of the wavefunction is $\Delta x \rightarrow \infty$, in accordance with Heisenberg.
According to quantum mechanics, a particle can only have certain well-defined energies (given by solutions to the Schrodinger equation), the lowest of which is called its ground state energy. You can think of a collection of Bosons at absolute zero all being in their ground state- that doesn't mean that they have no energy, but just that their energy can't possible go any lower.
The Heisenberg Uncertainty Principle doesn't prevent a particle from having an exact energy. What the principle means is that a particle cannot simultaneously have exact values for two separate observable properties unless they 'commute'. This is tricky to explain in non-mathematical terms, but I will give you a specific example.
If you have a particle in its ground state, it has a very exact energy, E say, but its position is not well defined because of the spatial spread of its wave function, so you cannot know both the energy and position exactly at the same time.
In principle a particle could have a very tightly constrained position (ie you could be pretty sure where it was), but in that case its wave function would be a narrow spike. The narrow spike would not be a solution to the Schrödinger equation, so the particle wouldn't have a specific energy.
It is worth spending time reading books about this because the underlying principles- about expanding wave functions in terms of orthogonal eigenstates of other operators- are extremely beautiful once you understand them. If I get the time I will try to supplement this answer with a non-mathematical explanation.