I signed a one year lease which is up and I have given 30 days notice. Does my landlord have a right to keep my deposit if I leave the place perfectly clean and rentable?
No as long as you have acted accordingly within the tenancy contract. Which assuming you have, they should pay up within 30 days (or whatever is stated in the T&C's) . If they don't however, it then becomes a civil case, where you would have to pursue yourself through the small claims.