SELECT * FROM `tbl_fixture_dates`
INNER JOIN `tbl_fixtures`
ON `tbl_fixture_dates`.`date_id` = `tbl_fixtures`.`date_id`
WHERE `tbl_fixture_dates`.`match_date` > NOW( ) AND `tbl_fixtures`.`team_id` =1 LIMIT 1
I changed the AND to an = in your ON clause. I'm not certain but I believe your previous query merely required these date_id fields to have any value at all rather than being equal between the two tables.
Also, I don't know what your db tables might look like so I have no idea how to improve on it. I feel I should point out that you are only selecting values from tbl_fixture_dates and no values at all from tbl_fixtures.