The 46-year-old actress - who has children Leo, nine, and Luna, seven, with her actor husband Javier Bardem - was turned on to cigarettes due to her alter ego's habit and she puffed away for a "few years".
However, Penelope quit when she decided she wanted to be in the best health possible in order to have children.
Speaking to Stella magazine, she said: "I don't drink, I don't smoke and I eat really healthily.
"I've always taken good care of myself and maintained a healthy lifestyle.
"I've never drunk alcohol, but I smoked for a few years because one of my characters did; I quit when I decided I was going to be a mother."
Penelope smoked in 2001 crime biopic 'Blow' - in which she starred opposite Johnny Depp as cocaine smuggler George Jung - and in Woody Allen's 2008 comedy-drama 'Vicky Cristina Barcelona', a performance which won her the Academy Award for Best Supporting Actress.
The Spanish star has also opened up on her daily routine and insists she always tries to get a good night's sleep and finds meditation a great way to relax and refocus.
She said: "I try to get eight hours' sleep if I can, and I've started meditating again recently, which really helps me to appreciate the present moment. Just like the gym works the body, meditation allows you to calm the mind. Practising it daily improves my ability to relax."
The 'Vanilla Sky' actress is also a skilled hairdresser after spending a lot of time watching her mother at work in a beauty salon when she was younger.
She said: "I spent a lot of time in my mother's beauty salon as a child and teenager, watching her. I learned to do a bit of everything: cutting, curling and straightening hair, waxing, colouring, putting in rollers."