The legislation now moves into the committee stage before a final vote is held in parliament on July 12 where it's expected to pass.
"On 12 July we will have the final vote which will introduce #MarriageEquality in #Malta," tweeted Malta's Prime Minister Joseph Muscat after the vote.
The vote signals the latest in shifting attitudes that have swept across the staunchly Catholic country since a 2011 referendum to legalize divorce.
Since then, the country has introduced civil unions and last year became the first European state to ban "gay cure" therapy.
Last month, Muscat said gay marriage would be one of his priorities after he won a snap election.
"Malta wants to keep leading on LGBT issues and civil liberties, to serve as a model for the rest of the world," Muscat told the BBC.
The changes are part of what the Maltese government hopes will be a modernization of marriage that will also allow gay couples to adopt children.
In the bill, references to "wife," "husband," "mother" and "father" will be scrapped and changed to gender-neutral terms such as "parent" and "spouse."
executive director in the European region of the International Lesbian, Gay, Bisexual, Trans and Intersex Association
, said the changes were hugely welcome.
"The new law is the missing piece in the puzzle when it comes to family rights in Malta," she said.
"The use of gender-neutral terms means that everyone is equal and it is much more inclusive, particularly when it comes to the trans community."
Last week, Germany moved to become the latest European nation to legalize same-sex marriage.
The Netherlands was the first country to take that step in 2001.
Since then, more than 20 other nations have followed suit, including Spain, Canada, Argentina, France, the United Kingdom, Germany, Ireland and the United States.